AtCoder 生活　19日目

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

|問題番号|難易度|自力で解けた|かかった時間|
|---|:-:|:-:|---|---|
|ABC124|A|◯|4分53秒|
|ABC125|A|◯|6分18秒|
|ABC126|A|◯|4分37秒|
|ABC127|A|◯|3分46秒|
|ABC128|A|◯|2分1秒|
|ABC127|B|◯|22分56秒|
|ABC128|B|✕|66分36秒|
|ABC129|B|✕|46分17秒|
|ABC130|B|✕|33分|
|ABC131|B|✕|39分21秒|


## ABC124_A

問題:[Buttons]
(https://atcoder.jp/contests/abc124/tasks/abc124_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;
    int max_1 = a + a - 1;
    int max_2 = a + b;
    int max_3 = b + b - 1;
    cout << max(max(max_1,max_2),max_3) << endl;
}


```

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



## ABC125_A

問題:[Biscuit Generator]
(https://atcoder.jp/contests/abc125/tasks/abc125_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,t;
    cin >> a >> b >> t;
    int r = (t + 0.5)/a;
    int sum = b * r;
    cout << sum << endl;
}

```

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



## ABC126_A

問題:[Changing a Character]
(https://atcoder.jp/contests/abc126/tasks/abc126_a)


```c++

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

int main(){
    int n,k;
    cin >> n >> k;
    string s;
    cin >> s;
    if(s[k-1] == 'A') s[k-1] = 'a';
    else if(s[k-1] == 'B') s[k-1] = 'b';
    else if(s[k-1] == 'C') s[k-1] = 'c';
    cout << s << endl;
}

```

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



## ABC127_A

問題:[Ferris Wheel]
(https://atcoder.jp/contests/abc127/tasks/abc127_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(a >= 13) cout << b << endl;
    else if(a >= 6 && a < 13) cout << b/2 << endl;
    else if(a < 6) cout << 0 << endl;
}

```

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



## ABC128_A

問題:[Apple Pie]
(https://atcoder.jp/contests/abc128/tasks/abc128_a)


```c++

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

int main(){
    int a,p;
    cin >> a >> p;
    int s = 3 * a + p;
    cout << s/2 << endl;
}

```

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

## ABC127_B

問題:[Algae]
(https://atcoder.jp/contests/abc127/tasks/abc127_b)


```c++

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

int main(){
    int r,d;
    vector<int> x(20);
    cin >> r >> d >> x[0];
    rep(i,10){
        x[i+1] = r * x[i] - d;
        cout << x[i+1] << endl;
    }
}

```

解くのにかかった時間：22分56秒


## ABC128_B

問題:[Guidebook]
(https://atcoder.jp/contests/abc128/tasks/abc128_b)


```c++

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

int main(){
    int n;
    cin >> n;
    vector<tuple<string,int,int>> a;
    rep(i,n){
        string s;
        int p;
        cin >> s >> p;
        p = -p;
        a.push_back(tie(s,p,i));
    }
    sort(a.begin(),a.end());
    for(int i = 0;i < n; i++){
        cout << get<2>(a[i]) << endl;
    }
}


```

解くのにかかった時間：66分36秒
感想:tupleの存在は知っていたが使い方は今回やっと理解した。


## ABC129_B

問題:[Balance]
(https://atcoder.jp/contests/abc129/tasks/abc129_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;
    vector<int> w(n);
    int sum = 0;
    rep(i,n){
        cin >> w[i];
        sum += w[i];
    }
    int mini = sum;
    int prefix_sum = 0;
    rep(i,n){
        cin >> w[i];
        prefix_sum += w[i];
        mini = min(mini, abs(prefix_sum - (sum - prefix_sum)));
    }
    cout << mini << endl;
    return 0;
}
```

解くのにかかった時間：46分17秒



## ABC130_B

問題:[Bounding]
(https://atcoder.jp/contests/abc130/tasks/abc130_b)


```c++

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

int main() {
    int N, X;
    cin >> N >> X;
    vector<int> D(N + 1);
    D[0] = 0;
    for (int i = 0; i < N; ++i) {
        int x;
        cin >> x;
        D[i + 1] = D[i] + x;
    }
    int ans = 0;
    for (int i = 0; i <= N; ++i) {
        if (D[i] <= X) {
            ans++;
        }
    }
    cout << ans << endl;
    return 0;
}


```

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



## ABC130_B

問題:[Bite Eating]
(https://atcoder.jp/contests/abc131/tasks/abc131_b)


```c++

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

int main(){
    int n,l;
    cin >> n >> l;
    vector<int> s(n);
    int sum = 0;
    int s_min = 200;
    rep(i,n){
        s[i] = l + i;
        sum += s[i];
    }
  	int ans = 10000;
  	rep(i,n){
      	int t = sum - s[i];
      	if(abs(t-sum) < abs(ans-sum)) ans = t;
    }
    cout << ans << endl;
}
```

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


###最後に
A問題は平均4分19秒、B問題は22分56秒で解き終わりました。
B問題は、そこまで回答を見ると難しくないのですがあと一歩が足りなくなります、、、


|難易度|かかった平均時間|解けた問題数|
|:-:|---|---|
|A|4分19秒|5問中5問|
|B|22分56秒|1問中5問|