AtCoder 生活　61日目

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

#61日目
今回はC問題を2問を解き、とバーチャル参加を2回しました。

|問題|難易度|自力で解けた|かかった時間|
|:-:|:-:|:-:|---|---|
|ABC058|C|✕|234分26秒|
|ABC056|C|✕|132分56秒|

![スクリーンショット 2020-05-21 12.46.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606053/ed57d882-7411-deda-54a0-2eba075c4744.png)
![スクリーンショット 2020-05-21 14.46.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606053/834fb4f6-7ce3-5cf2-8d00-49481bc5f94b.png)

##[ABC058_C](https://atcoder.jp/contests/abc058/tasks/arc071_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> alp(26,0);
    rep(i,n){
        string s;
        cin >> s;
        vector<int> now(26);
        rep(j,s.size()) now[s[j] - 'a']++;
        if(i == 0){
            rep(j,26)alp[j] = now[j];
        }
        else{
            rep(j,26) alp[j] = min(alp[j],now[j]);
        }
    }
    rep(i,26){
        cout << string(alp[i],i+'a');
    }
    cout << endl;
}

```

解くのにかかった時間：234分26秒
感想：i-'a'でその文字を表すことを思いつけなかったし、string('a',4)でaaaaと入力することを今回はじめて知った。


##[ABC056_C](https://atcoder.jp/contests/abc056/tasks/arc070_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 x;
    cin >> x;
    ll i = 0;
    while((i+1)*i/2 < x){
        i++;
    }
    cout << i << endl;
}

```

解くのにかかった時間：132分56秒
感想：ｘに最短時間でつくには、その時間までに動いた最長距離がより大きければ組み合わせ次第でたどり着けることに気づけなかった


##[ABC159](https://atcoder.jp/contests/abc159)

###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,m;
    cin >> n >> m;
    int ans = n*(n-1)/2 + m*(m-1)/2;
    cout << ans << 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(){
    string s;
    cin >> s;
    string a = s; 
    reverse(s.begin(),s.end());
    if(a != s){
        cout << "No" << endl;
        return 0;
    }
    s = s.substr(0,s.size()/2);
    string b = s;
    reverse(s.begin(),s.end());
    if(s == b) cout << "Yes" << endl;
    else cout << "No" << endl;
}

```

###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(){
    double l;
    cin >> l;
    double s = l/3;
    double ans = s*s*s;
    cout << fixed << setprecision(10) << ans << endl;
}

```


##[ABC158](https://atcoder.jp/contests/abc158)

###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;
  	cin >> s;
    if(s == "AAA" || s == "BBB") cout << "No" << endl;
    else cout << "Yes" << 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(){
    ll n,a,b;
    cin >> n >> a >> b;
    ll r = a+b;
    ll s = n/r;
    ll t = n%r;
    ll ans = s*a + min(t,a);
    cout << ans << endl; 
}

```

###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(){
    int a,b;
    cin >> a >> b;
    int n = 1001;
    rep(i,n){
        int s = i*0.1;
        int t = i*0.08;
        if(a == t && b == s){
            cout << i << endl;
            return 0;
        }
    }
    cout << -1 << endl;
}

```


###最後に
数学的思考が少し出来なくなってきてしまっている気がする..
いろんな問題を解いて、数学的思考力を身に着けたい