AtCoder 生活　50日目

[前回](https://qiita.com/flandrescarlet237/items/ea189482f226047019f3)

#50日目
今回は、A問題を4問、B問題を4問、C問題を1問解き、ABC167に参加しました。

|問題|難易度|自力で解けた|かかった時間|
|:-:|:-:|:-:|---|---|
|ABC031|A|◯|15分14秒|
|ABC031|B|◯|19分37秒|
|ABC030|A|◯|16分18秒
|ABC030|B|✕|28分29秒|
|ABC029|A|◯|1分6秒|
|ABC029|B|◯|9分41秒|
|ABC028|A|◯|4分55秒|
|ABC028|B|◯|16分21秒|
|ABC109|C|✕|107分7秒|


![スクリーンショット 2020-05-10 22.41.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606053/2f3579e8-6509-f344-8b99-0538fccb93fb.png)



##[ABC031](https://atcoder.jp/contests/abc031)

###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 a,d;
    cin >> a >> d;
    int x = (a+1)*d;
    int y = a*(d+1);
    cout << max(x,y) << endl;
}

```
解くのにかかった時間：15分14秒


###B


```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>;
using pil = pair<pii,int>;


int main(){
    int l,h;
    cin >> l >> h;
    int n;
    cin >> n;
    rep(i,n){
        int a;
        cin >> a;
        if(a <= l) cout << l-a << endl;
        if(l < a && a <= h) cout << 0 << endl;
        if(h < a) cout << -1 << endl;
    }
}

```
解くのにかかった時間：19分37秒



##[ABC030](https://atcoder.jp/contests/abc030)

###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(){
    double a,b,c,d;
    cin >> a >> b >> c >> d;
    double x,y;
    x = b/a;
    y = d/c;
    if (x < y)cout << "AOKI" << endl;
    else if(x == y) cout << "DRAW" << endl;
    else if(x > y) cout << "TAKAHASHI" << endl;
}

```
解くのにかかった時間：16分18秒


###B


```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>;
using pil = pair<pii,int>;


int main(){
    int n;
    double t,m,ans;
    cin >> n >> m;
    t = n % 12;
    ans = abs((t*30 + 0.5*m) - 6*m);
    cout << min(360-ans,ans) << endl;;
}

```
解くのにかかった時間：28分29秒
感想：自力で解いた時、普通に計算ミスしていました。


##[ABC029](https://atcoder.jp/contests/abc029)

###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(){
    string w;
    cin >> w;
    cout << w << "s" << endl;
}

```
解くのにかかった時間：1分6秒


###B


```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>;
using pil = pair<pii,int>;


int main(){
    int ans = 0;
    rep(i,12){
        int cnt = 0;
        string s;
        cin >> s;
        rep(i,s.size()){
            if(s[i] == 'r')cnt++;
        }
        if(cnt > 0)ans++;
    }
    cout << ans << endl;
}

```
解くのにかかった時間：9分41秒



##[ABC028](https://atcoder.jp/contests/abc028)

###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;
    cin >> n;
    if(n < 60)cout << "Bad" << endl;
    if(n >= 60 && n < 90) cout << "Good" << endl;
    if(n >= 90 && n < 100) cout << "Great" << endl;
    if(n == 100) cout << "Perfect" << endl;
}

```
解くのにかかった時間：4分55秒


###B


```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>;
using pil = pair<pii,int>;


int main(){
    string s;
    cin >> s;
    vector<int> cnt(6);
    rep(i,s.size()) cnt[s[i]]++;
    for(char i = 'A';i <= 'F';i++){
        cout << cnt[i];
      	if(i != 'F')cout << " " ;
    }
  	cout << endl;
  	return 0;
}

```
解くのにかかった時間：16分21秒
感想：ACになる条件が厳しい



##[ABC109_C](https://atcoder.jp/contests/abc109/tasks/abc109_c)

```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(){
    ll n,x;
    cin >> n >> X;
    vector<ll> x(n);
    rep(i,n){
        cin >> x[i];
        x[i] -= X;
    }
    long long g = abs(x[0]);
    rep(i,n) g = __gcd(g,abs(x[i]));
    cout << g << endl;
}

```

解くのにかかった時間：107分7秒
感想：茶色の問題は問題文が理解するのに時間がかかる


##[ABC167](https://atcoder.jp/contests/abc167)

###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(){
    string s,t;
    cin >> s >> t;
    int a = t.size();
    char x = t[a-1];
    string s1 = s + x;
    if(s1 == t)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;
using pii = pair<int,int>;
using pil = pair<pii,int>;


int main(){
    int a,b,c,k;
    cin >> a >> b >> c >> k;
    if(a >= k)cout << k;
    if(a < k && k <= (a+b))cout << a;
    if(k > a+b)cout << a+(k - a -c) << endl;
}

```


###最後に
茶色diffとなると解説も難しくなってきている気がする
ABC167はB問題までしか解けませんでしたが、D問題はもう少しで解けそうだと感じた。
一方C問題は解けそうもなかった。

難易度|かかった平均時間|解けた問題数|
|:-:|---|---|
|A|9分23秒|4問中4問|
|B|14分46秒|3問中4問|