#100日目
今回は、灰色の問題を2問ときました。
|問題|難易度|自力で解けた|かかった時間|
|:-:|:-:|:-:|---|---|
|エイシング プログラミング コンテスト 2020|C|✕|25分41秒|
|AtCoder Regular Contest 105|B|✕|40分21秒|
#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>;
const int INF = 2e9;
int main(){
int n;
cin >> n;
vector<int> f(n,0);
for(int x = 1;x*x <= n;x++){
for(int y = 1;y*y <= n;y++){
for(int z = 1;z*z <= n;z++){
int t = x*x + y*y + z*z + x*y + y*z + z*x;
if(t <= n)f[t-1]++;
}
}
}
rep(i,n){
cout << f[i] << endl;
}
}
解くのにかかった時間:25分41秒
感想:ifで条件をつけないと実行時エラーが発生した。
##AtCoder Regular Contest 105_B
#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>;
const int INF = 2e9;
int main(){
int n;
cin >> n;
ll res = 0;
rep(i,n){
ll a;
cin >> a;
res = gcd(res,a);
}
cout << res << endl;
}
解くのにかかった時間:40分21秒
感想:ユークリッド互除法を復習してみるか…
###最後に
茶色に近い問題も簡単に解けるようにしておきたい