AtCoder 生活　53日目

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

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

|問題|難易度|自力で解けた|かかった時間|
|:-:|:-:|:-:|---|---|
|ABC019|A|◯|3分49秒|
|ABC019|B|◯|15分29秒|
|ABC018|A|◯|11分26秒|
|ABC018|B|✕|77分26秒|
|ABC017|A|◯|2分27秒|
|ABC017|B|◯|88分45秒|
|ABC016|A|◯|5分53秒|
|ABC016|B|◯|9分33秒|
|ABC092|C|✕|156分32秒|
|ABC090|C|✕|103分50秒|



##[ABC019](https://atcoder.jp/contests/abc019)

###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,b,c;
    cin >> a >> b >> c;
    int sum = a+b+c;
    int s = max({a,b,c});
    int m = min({a,b,c});
    cout << sum - s - m << endl;
}

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


###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;
    int t = s.size();
    int c = 1;
    rep(i,t){
        if(s[i] == s[i+1])c++;
        else{
            cout << s[i] << c;
            c = 1;
        }
    }
    cout << endl;
}


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


##[ABC018](https://atcoder.jp/contests/abc018)

###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,b,c;
    cin >> a >> b >> c;
    int s = min({a,b,c});
    int m = max({a,b,c});
    if(a == s)cout << 3 << endl;
    if(a == m)cout << 1 << endl;
    if(a != s && a != m)cout << 2 << endl;
    if(b == s)cout << 3 << endl;
    if(b == m)cout << 1 << endl;
    if(b != s && b != m)cout << 2 << endl;
    if(c == s)cout << 3 << endl;
    if(c == m)cout << 1 << endl;
    if(c != s && c != m)cout << 2 << endl;
}

```
解くのにかかった時間：11分26秒


###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;
    int n;
    cin >> s >> n;
    rep(i,n){
        int l,r;
        cin >> l >> r;
        string q = s.substr(l-1,r-(l-1));
        reverse(q.begin(),q.end());
        s.replace((l-1),r-(l-1),q);
    }
    cout << s << endl;
}

```
解くのにかかった時間：77分26秒
感想:replaceの存在を今回始めて知った


##[ABC017](https://atcoder.jp/contests/abc017)

###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 sum = 0;
    rep(i,3){
        int a,b;
        cin >> a >> b;
        sum += a*b/10;
    }
    cout << sum << endl;
}

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


###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 x;
    cin >> x;
    int t = x.size();
    for(int i = t-1;i >= 0;i--){
        if(x[i] == 'h' && x[i-1] == 'c'){
            i--;
            continue;
        }
        if(x[i] == 'h' && x[i-1] != 'c') {
            cout << "NO" << endl;
            return 0;
        }
        if(x[i] != 'o' && x[i] != 'k' && x[i] != 'u'){
            cout << "NO" << endl;
            return 0; 
        }
    }
    cout << "YES" << endl;
}

```
解くのにかかった時間：88分45秒


##[ABC016](https://atcoder.jp/contests/abc016)

###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 m,d;
    cin >> m >> d;
    if(m%d == 0)cout << "YES" << endl;
    else cout << "NO" << endl;
}

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


###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;
    cin >> a >> b >> c;
    int x = a+b;
    int y = a-b;
    if(c == x && c == y)cout << '?' << endl;
    if(c == x && c != y)cout << '+' << endl;
    if(c != x && c == y)cout << '-' << endl;
    if(c != x && c != y)cout << '!' << endl;
}

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


##[ABC092_C](https://atcoder.jp/contests/abc092/tasks/arc093_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;
    vector<int> a;
    ll sum = 0;
    a.push_back(0);
    rep(i,n){
        int c;
        cin >> c;
        a.push_back(c);
    }
    a.push_back(0);
    n += 2;
    rep(i,n-1){
        sum += abs(a[i+1] - a[i]);
    }
    for(int i = 1;i < n-1;i++){
        cout << sum - abs(a[i+1] - a[i]) -abs(a[i] - a[i-1]) + abs(a[i+1] - a[i-1]) << endl;
    }
}

```

解くのにかかった時間：156分32秒
感想：aの内容をpushで挿入することを思いつかなかった。


##[ABC090_C](https://atcoder.jp/contests/abc090/tasks/arc091_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(){
    ll n,m;
    cin >> n >> m;
    cout << abs((n-2)*(m-2)) << endl;
}

```

解くのにかかった時間：103分50秒
感想:理解するのと書き出すのに時間がかかってしまった


###最後に
解き方を見て即座に理解することが今後の目標

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