AtCoder 生活　26日目

[前回](https://qiita.com/flandrescarlet237/items/230a7b9282a1bbcfa15b)
#26日目
今回は、バーチャル参加を3回しました

![スクリーンショット 2020-04-14 22.07.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606053/3031b20a-77e3-206e-4e05-252eab31c1d6.png)
![スクリーンショット 2020-04-14 22.09.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606053/6f2a101a-d3ed-dc67-a201-7d645ec5af42.png)
![スクリーンショット 2020-04-14 22.10.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606053/e92f0fa0-5160-17be-fc00-e23b741a902b.png)

##[ABC132](https://atcoder.jp/contests/abc132)

###A

```c++

#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
using namespace std;
using ll = long long;
using pii = pair<int,int>;

int main(){
    vector<char> s(4);
    rep(i,4) cin >> s[i];
    sort(s.begin(),s.end());
    if(s[0] == s[1] && s[2] == s[3] && s[1] != s[2]) cout << "Yes" << endl;
    else cout << "No" << endl;
}

```

###B


```c++

#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
using namespace std;
using ll = long long;

int main(){
    int n;
    cin >> n;
    vector<int> p(n);
    rep(i,n) cin >> p[i];
    int res = 0;
    for(int i = 1;i < n-1;i++){
        if(p[i-1] < p[i] && p[i] < p[i+1]) res++;
        if(p[i-1] > p[i] && p[i] > p[i+1]) res++;
    }
    cout << res << endl;
}

```

###C


```c++

#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
using namespace std;
using ll = long long;

int main(){
    int n;
    cin >> n;
    vector<int> d(n);
    rep(i,n) cin >> d[i];
    sort(d.begin(),d.end());
    int x = d[n/2];
    int y = d[n/2 - 1];
    cout << x - y << endl;
}

```

##[ABC133](https://atcoder.jp/contests/abc133)

###A

```c++

#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
using namespace std;
using ll = long long;
using pii = pair<int,int>;

int main(){
    int n,a,b;
    cin >> n >> a >> b;
    int x = n*a;
    cout << max(x,b) << endl;
}

```

###B


```c++

#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
using namespace std;
using ll = long long;

int main(){
    int n,d;
    cin >> n >> d;
    int res = 0;
    vector<vector<int>> x(n,vector<int>(d));
    rep(i,n){
        rep(j,d){
            cin >> x[i][j];
        }
    }
    for(int i = 0;i<n-1;i++){
        for(int j = i+1;j<n;j++){
            int sq = 0;
            rep(k,d){
                int s = x[i][k]-x[j][k];
                sq += s * s;
            }
            int s = sqrt(sq) + 0.5;
            if(s*s == sq) res++;
        }
    }   
    cout << res << endl;
}

```
感想：ここまで計算量を減らせなかった

###C


```c++

#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
using namespace std;
using ll = long long;

int main(){
    ll l,r;
    cin >> l >> r;
    ll ans = 2020;
    if(r-l > 2020) cout << 0 << endl;
    else{
        for(ll i = l;i <= r;i++){
            for(ll j = i+1;j <= r;j++){
                ans = min(ans,i*j%2019);
            }
        }
        cout << ans << endl;
    }
}

```
感想:ifの中を想定できなかった

##[ABC134](https://atcoder.jp/contests/abc134)

###A

```c++

#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
using namespace std;
using ll = long long;
using pii = pair<int,int>;

int main(){
    int r;
    cin >> r;
    cout << 3*r*r << endl;
}

```

###B


```c++

#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
using namespace std;
using ll = long long;

int main(){
    int n,d;
    cin >> n >> d;
    cout << (n-1)/(2*d+1) +1 << endl;
}

```

###C


```c++

#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
using namespace std;
using ll = long long;

int main(){
    int n;
    cin >> n;
    vector<int> a(n),h(n);
    rep(i,n){
        cin >> a[i];
        h[i] = a[i];
    }
    sort(h.rbegin(),h.rend());
    rep(i,n){
        if(a[i] == h[0]) cout << h[1] << endl;
        else cout << h[0] << endl;
    }
}
```

###最後に
B問題やC問題が解けないとき基本的に計算量が多すぎて、ACにならないことが多いのでもっと多方向からのアプローチを身に着けたい。