AtCoder 生活　14日目

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

#14日目
今回は、A問題を5問、B問題を4問、C問題を2問解きました

|問題番号|難易度|自力で解けた|かかった時間|
|---|:-:|:-:|---|---|
|ABC149|A|◯|2分32秒|
|ABC150|A|◯|4分21秒|
|ABC151|A|◯|12分|
|ABC152|A|◯|2分37秒|
|ABC153|A|◯|3分30秒|
|ABC152|B|◯|22分4秒|
|ABC153|B|◯|60分23秒|
|ABC154|B|◯|16分3秒|
|ABC155|B|◯|55分7秒|
|ABC156|C|◯|86分45秒|
|ABC157|C|✕|81分53秒|

## ABC149_A

問題:[Strings]
(https://atcoder.jp/contests/abc149/tasks/abc149_a)


```c++

#include <bits/stdc++.h>
using namespace std;

int main(){
    string S,T;
    cin >> S >> T;
    cout << T << S << endl;
}

```

解くのにかかった時間：2分32秒

## ABC150_A

問題:[500 Yen Coins]
(https://atcoder.jp/contests/abc150/tasks/abc150_a)


```c++

#include <bits/stdc++.h>
using namespace std;

int main(){
    int K,X;
    cin >> K >> X;
    if(K*500 >= X) cout << "Yes" << endl;
    else cout << "No" << endl;
}

```

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

## ABC151_A

問題:[Next Alphabet]
(https://atcoder.jp/contests/abc151/tasks/abc151_a)


```c++

#include <bits/stdc++.h>
using namespace std;

int main(){
    char c;
    cin >> c;
    vector<char> alph = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
    for(int i=0;i<26;i++){
        if(c == alph[i]){
            cout << alph[i+1] << endl;
            return 0;
        }
    }
}

```

解くのにかかった時間：12分

## ABC152_A

問題:[AC or WA]
(https://atcoder.jp/contests/abc152/tasks/abc152_a)


```c++

#include <bits/stdc++.h>
using namespace std;

int main(){
    int N,M;
    cin >> N >> M;
    if(N == M) cout << "Yes" << endl;
    else cout << "No" << endl;
}

```

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


## ABC153_A

問題:[Serval vs Monster]
(https://atcoder.jp/contests/abc153/tasks/abc153_a)


```c++

#include <bits/stdc++.h>
using namespace std;

int main(){
    int H,A;
    cin >> H >> A;
    if(H%A == 0) cout << H/A << endl;
    else cout << H/A + 1 << endl;
}

```

解くのにかかった時間：3分30秒

## ABC152_B

問題:[Comparing Strings]
(https://atcoder.jp/contests/abc152/tasks/abc152_b)


```c++

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

int main(){
    int a,b;
    cin >> a >> b;
    int x = min(a,b);
  	int z = max(a,b);
    string y = "";
    rep(i,z){
      	cout << (int)x;
    }
}

```

解くのにかかった時間：22分4秒
感想：型の変更は少し調べました


## ABC153_B

問題:[ Common Raccoon vs Monster]
(https://atcoder.jp/contests/abc153/tasks/abc153_b)


```c++

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

int main(){
    int H,N;
    cin >> H >> N;
    vector<int> A(N);
    rep(i,N) cin >> A[i];
    int sum = 0;
    rep(i,N){
        H -= A[i]; 
    }
    if(H <= 0)cout << "Yes" << endl;
    else cout << "No" << endl;
}

```

解くのにかかった時間：60分23秒
感想：Aの合計値を求めてからHからAの合計値を引いてif文を用いると正常に作動しなかったので、試行錯誤してこの書き方を求めたらこんなに時間がかかってしまった。

## ABC154_B

問題:[I miss you...]
(https://atcoder.jp/contests/abc154/tasks/abc154_b)


```c++

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

int main(){
    string S;
    cin >> S;
    string x = "";
    rep(i,S.size()){
        x += 'x';
    }
    cout << x << endl;
}

```

解くのにかかった時間：16分3秒
感想：かなり簡単な問題だったと思う

## ABC155_B

問題:[Papers, Please]
(https://atcoder.jp/contests/abc155/tasks/abc155_b)


```c++

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

int main(){
    int N;
    cin >> N;
    vector<int> A(N);
    rep(i,N) cin >> A[i];
  	bool res = true;
    rep(i,N){
        if(A[i]%2 == 0){
            if(A[i]%3 != 0 && A[i]%5 != 0){
                res = false;
                break;
            }
        }
    }
    if(res) cout <<  "APPROVED" << endl;
  	else cout <<  "DENIED" << endl;
}


```

解くのにかかった時間：55分7秒
感想：Nの中に奇数しかない可能性に早く気付きたかった。

## ABC156_C

問題:[Rally]
(https://atcoder.jp/contests/abc156/tasks/abc156_c)


```c++

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

int main(){
    int n;
    cin >> n;
    vector<int> x(n);
    rep(i,n) cin >> x[i];
  	sort(x.begin(),x.end());
    int total = 0;
  	rep(i,n){
    	total += x[i];
    }
  	int p = total/n;
    int fiz_1 = 0;
  	int fiz_2 = 0;
    rep(i,n){
        fiz_1 += (x[i] - p)*(x[i] - p);
    }
  	int p_1 = p+1;
  	rep(i,n){
        fiz_2 += (x[i] - p_1)*(x[i] - p_1);
    }
    cout << min(fiz_1,fiz_2) << endl;
}


```

解くのにかかった時間：86分45秒
感想：かなり時間をかけてしまったがはじめてC問題が解けた

## ABC157_C

問題:[Guess The Number]
(https://atcoder.jp/contests/abc157/tasks/abc157_c)


```c++

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

int main() {
  	int n, m;
  	cin >> n >> m;
  	vector<P> p(m);
  	rep(i,m) cin >> p[i].first >> p[i].second;
  	rep(x,1000) {
    	int keta = 1;
    	int nx = x/10;
    	vector<int> d(1,x%10);
    	while (nx) {
      		keta++;
      		d.push_back(nx%10);
      		nx /= 10;
    	}
    	if (keta != n) continue;
    	bool ok = true;
    	reverse(d.begin(), d.end());
    	rep(i,m) {
    		if (d[p[i].first-1] != p[i].second) ok = false;
    	}
    	if (ok) {
      		cout << x << endl;
      		return 0;
    	}
  	}
  	cout << -1 << endl;
  	return 0;
}


```

解くのにかかった時間：81分53秒
感想：よくわからなかったのでYoutubeの解説を見て勉強しました。


###最後に
A問題は平均4分58秒で、B問題は平均38分13秒で解き終わりました。
B問題でも早く解き終わらない問題があるのでもっと精進していきたい。


|難易度|かかった平均時間|解けた問題数|
|:-:|---|---|
|A|4分58秒|5問中5問|
|B|38分13秒|4問中4問|