AtCoder 生活　66日目

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

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

|問題|難易度|自力で解けた|かかった時間|
|:-:|:-:|:-:|---|---|
|ABC163|D|✕|180分5秒|
|ABC162|D|✕|185分|

![スクリーンショット 2020-05-26 12.23.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606053/4ab9fead-cc62-9056-0365-3878168e3a3d.png)
![スクリーンショット 2020-05-26 14.46.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/606053/4a5d51cf-0743-a6e9-28b9-640318d46454.png)

##[ABC149](https://atcoder.jp/contests/abc149)

###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,t;
    cin >> s >> t;
    cout << t << s << 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 a,b,k;
    cin >> a >> b >> k;
  	ll r = k - a;
    a = max(0LL,a-k);
    b = min(b,b-r);
  	b = max(0LL,b);
    cout << a << " " << b << 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>;

bool primeNumber(int n){
    for(int i = 2;i*i <= n;i++){
        if(n%i == 0) return false;
    }
    return true;
}

int main(){
    int x;
    cin >> x;
    while(true){
        if(primeNumber(x)){
            cout << x << enld;
            return 0;
        }
        x++;
    }
}

```


##[ABC148](https://atcoder.jp/contests/abc148)

###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;
    cin >> a >> b;
    cout << 6 - (a+b) << 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(){
    int n;
    cin >> n;
    string s,t;
    cin >> s >> t;
    rep(i,n){
        cout << s[i] << t[i];
    }
}

```

###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(){
    ll a,b;
    cin >> a >> b;
    cout << a / __gcd(a,b) * b << endl;
}

```

###D


```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 n;
    cin >> n;
    vector<int> a(n);
    rep(i,n) cin >> a[i];
    int now = 1;
    rep(i,n){
        if(a[i] == now) now++;
    }
    int ans = n - now;
    cout << ans << endl;
}

```


##[ABC163_D](https://atcoder.jp/contests/abc163/tasks/abc163_d)

```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>;

ll mod = 7 + pow(10,9);

int main(){
    int n,k;
    cin >> n >> k;
    ll ans = 0;
    for(ll i = k;i <= n+1;i++){
        ll a = (n-i)*i + i + 1;
        ans += a;
        ans %= mod;
    }
    cout << ans << endl;
}

```

解くのにかかった時間：180分5秒
感想：仕組みは理解できたが、計算式は理解できなかった


##[ABC162_D](https://atcoder.jp/contests/abc162/tasks/abc162_d)

```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;
    string s;
    cin >> n >> s;
    ll r = 0,g = 0,b = 0;
    rep(i,n){
        if(s[i] == 'R')r++;
        if(s[i] == 'G')g++;
        if(s[i] == 'B')b++;
    }
    ll ans = r*g*b;
    rep(j,n)rep(i,j){
        int k = j + (j-i);
      	if(k < n) {
            if(s[i] == s[j])continue;
            if(s[i] == s[k])continue;
            if(s[j] == s[k])continue;
            ans--;
        }
    }
  	cout << ans << endl;
}

```

解くのにかかった時間：185分
感想：アルゴリズムではなく、問題を深く理解できていない


###最後に
D問題の条件などを注視して、今後解けるようにしたい