AtCoder 生活　15日目

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


#15日目
今回は、A問題を5問、B問題を5問、C問題を3問解きました

|問題番号|難易度|自力で解けた|かかった時間|
|---|:-:|:-:|---|---|
|ABC144|A|◯|4分57秒|
|ABC145|A|◯|2分9秒|
|ABC146|A|◯|5分27秒|
|ABC147|A|◯|4分9秒|
|ABC148|A|◯|4分9秒|
|ABC147|B|◯|30分28秒|
|ABC148|B|◯|4分49秒|
|ABC149|B|◯|22分16秒|
|ABC150|B|◯|6分18秒|
|ABC151|B|◯|26分9秒|
|ABC153|C|◯|10分29秒|
|ABC154|C|◯|13分56秒|
|ABC155|C|✕|79分23秒|

## ABC144_A

問題:[9x9]
(https://atcoder.jp/contests/abc144/tasks/abc144_a)


```c++

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

int main(){
    int a,b;
    cin >> a >> b;
    if(0 < a && a <= 9){
        if(0 < b && b <= 9){
            cout << a * b << endl;
            return 0;
        }
    }
    cout << -1 << endl;
}

```

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

## ABC145_A

問題:[Circle]
(https://atcoder.jp/contests/abc145/tasks/abc145_a)


```c++

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

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

```

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


## ABC146_A

問題:[Can't Wait for Holiday]
(https://atcoder.jp/contests/abc146/tasks/abc146_a)


```c++

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

int main(){
    string S;
    cin >> S;
    if(S == "SUN"){
        cout << 7 << endl;
    }
    else if(S == "MON"){
        cout << 6 << endl;
    }
    else if(S == "TUE"){
        cout << 5 << endl;
    }
    else if(S == "WED"){
        cout << 4 << endl;
    }
    else if(S == "THU"){
        cout << 3 << endl;
    }
    else if(S == "FRI"){
        cout << 2 << endl;
    }
    else if(S == "SAT"){
        cout << 1 << endl;
    }
}

```

解くのにかかった時間：5分27秒


## ABC147_A

問題:[Blackjack]
(https://atcoder.jp/contests/abc147/tasks/abc147_a)


```c++

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

int main(){
    int a,b,c;
    cin >> a >> b >> c;
    if(a + b + c >= 22){
        cout << "bust" << endl;
        return 0;
    }
    cout << "win" << endl;
}

```

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


## ABC148_A

問題:[Round One]
(https://atcoder.jp/contests/abc148/tasks/abc148_a)


```c++

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

int main(){
    int a,b;
    cin >> a >> b;
    rep(i,3){
        if((i+1) != a && (i+1) != b){
            cout << i+1 << endl;
            return 0;
        }
    }
}

```

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


## ABC147_B

問題:[Palindrome-philia / ]
(https://atcoder.jp/contests/abc147/tasks/abc147_b)


```c++

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

int main(){
    string s;
    cin >> s;
  	string a = s;
  	reverse(s.begin(),s.end());
    int res = 0;
    rep(i,s.size()){
    	if(s[i] != a[i]) res++;
    }
  	cout << res/2 << endl;
}

```

解くのにかかった時間：30分28秒
感想：解き方を早く気づいたがとき終わるのが遅かった。


## ABC148_B

問題:[Strings with the Same Length]
(https://atcoder.jp/contests/abc148/tasks/abc148_b)


```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;
    string s,t;
    cin >> s >> t;
    rep(i,n){
        cout << s[i];
        cout << t[i];
    }
}

```

解くのにかかった時間：4分49秒
感想：A問題並みの簡単さだった

## ABC149_B

問題:[Greedy Takahashi]
(https://atcoder.jp/contests/abc149/tasks/abc149_b)


```c++

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

int main(){
    int64_t a,b,k;
    cin >> a >> b >> k;
    if(a >= k) a -= k;
    else if(a < k){
        int64_t s = k - a;
      	a = 0;
        if(b >= s) b -= s;
        else if(b < s)b = 0;
    }
    cout << a  << " " << b << endl;
}
```

解くのにかかった時間：22分16秒
感想：a = 0 を　sの定義前に書いていたことに気づくのが遅かった。


## ABC150_B

問題:[Count ABC]
(https://atcoder.jp/contests/abc150/tasks/abc150_b)


```c++

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

int main(){
    int n;
    string s;
    cin >> n;
    cin >> s;
    int res = 0;
    rep(i,n){
        if(s[i] == 'A' && s[i+1] == 'B' && s[i+2] == 'C')res++;
    }
    cout << res << endl;
}
```

解くのにかかった時間：6分18秒
感想：無理やり解ける

## ABC151_B

問題:[Achieve the Goal]
(https://atcoder.jp/contests/abc151/tasks/abc151_b)


```c++

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

int main(){
    int n,k,m;
    cin >> n >> k >> m;
    vector<int> a(n-1);
    rep(i,n-1) cin >> a[i];
    int sum = 0;
    rep(i,n-1){
        sum += a[i];
    }
    int A = n * m - sum;
    if(0 <= A && A <= k) cout << A << endl;
  	else if(A < 0) cout << 0 << endl;
    else cout << -1 << endl; 
}

```

解くのにかかった時間：26分9秒
感想：Aが負の時を考えよう

## ABC153_C

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


```c++

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

int main(){
    int64_t n,k;
    cin >> n >> k;
    vector<int> h(n);
    rep(i,n) cin >> h[i];
    sort(begin(h),end(h));
    int64_t sum = 0;
    rep(i,n-k) sum += h[i];
    cout << sum << endl;
}
```

解くのにかかった時間：10分29秒
感想：かなり簡単だった。

## ABC154_C

問題:[Distinct or Not]
(https://atcoder.jp/contests/abc154/tasks/abc154_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> a(n);
    rep(i,n) cin >> a[i];
    sort(a.begin(),a.end());
    rep(i,n){
        if(a[i] == a[i+1]){
            cout << "NO" << endl;
            return 0;
        }
    }
    cout << "YES" << endl;
}

```

解くのにかかった時間：13分56秒
感想：Cにも簡単な問題がある

## ABC155_C

問題:[Poll]
(https://atcoder.jp/contests/abc155/tasks/abc155_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;
    cin >> n;
    map<string,int> mp;
    rep(i,n) {
        string s;
        cin >> s;
        mp[s]++;
    }
    int mx = 0;
    for (auto p : mp) mx = max(mx, p.second);
    for (auto p : mp) {
        if (p.second != mx) continue;
        cout << p.first << endl;
    }
    return 0;
}


```

解くのにかかった時間：79分23秒
感想：mapやpairの使い方を解けなかったので復習しました。


###最後に
A問題は平均4分7秒、B問題は平均18分2秒、C問題は11分44秒で解き終わりました。
今回で、最近の問題はC問題がB問題よりも簡単な問題があると感じました。
難しいC問題も解けるようになりたい、、、


|難易度|かかった平均時間|解けた問題数|
|:-:|---|---|
|A|4分7秒|5問中5問|
|B|18分2秒|5問中5問|
|C|11分44秒|2問中3問|