57日目
今回はA問題を2問、B問題を2問、C問題を2問を解き、とバーチャル参加を1回して、
ABC168に参加しました。
問題 | 難易度 | 自力で解けた | かかった時間 |
---|---|---|---|
ABC002 | A | ◯ | 1分35秒 |
ABC002 | B | ◯ | 13分14秒 |
ABC001 | A | ◯ | 1分5秒 |
ABC001 | B | ◯ | 60分22秒 |
ABC071 | C | ✕ | 69分19秒 |
ABC070 | C | ✕ | 94分44秒 |
ABC002
A
#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
usingnamespacestd;usingll=longlong;usingpii=pair<int,int>;intmain(){intx,y;cin>>x>>y;cout<<max(x,y)<<endl;}
解くのにかかった時間:1分35秒
B
#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
usingnamespacestd;usingll=longlong;usingpii=pair<int,int>;usingpil=pair<pii,int>;intmain(){stringw;cin>>w;intt=w.size();rep(i,t){if(w[i]=='a'||w[i]=='i'||w[i]=='u'||w[i]=='e'||w[i]=='o'){continue;}elsecout<<w[i];}cout<<endl;}
解くのにかかった時間:13分14秒
ABC001
A
#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
usingnamespacestd;usingll=longlong;usingpii=pair<int,int>;intmain(){inta,b;cin>>a>>b;cout<<a-b<<endl;}
解くのにかかった時間:1分5秒
B
#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
usingnamespacestd;usingll=longlong;usingpii=pair<int,int>;usingpil=pair<pii,int>;intmain(){ints;cin>>s;if(s<1000)cout<<0<<s/100<<endl;if(1000<=s&&s<=5000)cout<<s/100<<endl;if(6000<=s&&s<=30000)cout<<s/1000+50<<endl;if(35000<=s&&s<=70000)cout<<(s/1000-30)/5+80<<endl;if(70000<s)cout<<89<<endl;}
解くのにかかった時間:60分22秒
感想:70kmがどの範囲に入るかで少し悩んだ
ABC166
A
#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
usingnamespacestd;usingll=longlong;usingpii=pair<int,int>;intmain(){strings;cin>>s;if(s[1]=='B')cout<<"ARC"<<endl;elsecout<<"ABC"<<endl;}
B
#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
usingnamespacestd;usingll=longlong;usingpii=pair<int,int>;usingpil=pair<pii,int>;intmain(){intn,k;cin>>n>>k;vector<int>d(k);set<int>s;rep(i,k){cin>>d[i];vector<int>a(d[i]);rep(j,d[i]){cin>>a[j];s.insert(a[j]);}}intt=s.size();cout<<n-t<<endl;}
C
#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
usingnamespacestd;usingll=longlong;usingpii=pair<int,int>;intmain(){intn,m;cin>>n>>m;vector<int>h(n+1);vector<bool>s(n+1);for(inti=1;i<=n;i++){cin>>h[i];s[i]=true;}for(inti=1;i<=m;i++){inta,b;cin>>a>>b;if(h[a]<=h[b])s[a]=false;if(h[a]>=h[b])s[b]=false;}intans=0;for(inti=1;i<=n;i++){if(s[i])ans++;}cout<<ans<<endl;}
D
#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
usingnamespacestd;usingll=longlong;usingpii=pair<int,int>;usingpil=pair<pii,int>;intmain(){llx;cin>>x;for(inti=-200;i<=200;i++){for(intj=-200;j<=200;j++){lls=pow(i,5);llt=pow(j,5);if((s-t)==x){cout<<i<<" "<<j<<endl;return0;}}}}
感想:C問題は少し間に合わなかったが、久しぶりに解いて自力でDまで解けた。
ABC071_C
#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
usingnamespacestd;usingll=longlong;usingpii=pair<int,int>;intmain(){intn;cin>>n;vector<ll>a(n);rep(i,n)cin>>a[i];llx=-1,y=0;sort(a.rbegin(),a.rend());rep(i,n-1){if(a[i]!=a[i+1])continue;if(x==-1){x=a[i];i++;}else{y=a[i];break;}}llans=x*y;cout<<ans<<endl;}
解くのにかかった時間:69分19秒
感想:どうxとyを定めればいいのかわからなかった。
ABC070_C
#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
usingnamespacestd;usingll=longlong;usingpii=pair<int,int>;llgcd(lla,llb){if(b==0)returna;returngcd(b,a%b);}lllcm(lla,llb){llg=gcd(a,b);returna/g*b;}intmain(){intn;cin>>n;llans=1;rep(i,n){llt;cin>>t;ans=lcm(ans,t);}cout<<ans<<endl;}
解くのにかかった時間:94分44秒
感想:なかなか答えにたどり着けなかった。
ABC168
A
#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
usingnamespacestd;usingll=longlong;usingpii=pair<int,int>;intmain(){intn;cin>>n;n%=10;if(n==2||n==4||n==5||n==7||n==9)cout<<"hon"<<endl;elseif(n==0||n==1||n==6||n==8)cout<<"pon"<<endl;elsecout<<"bon"<<endl;}
B
#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
usingnamespacestd;usingll=longlong;usingpii=pair<int,int>;usingpil=pair<pii,int>;intmain(){intk;cin>>k;strings;cin>>s;intt=s.size();if(t<=k)cout<<s<<endl;else{s=s.substr(0,k);cout<<s<<"..."<<endl;}}
C
#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0;i < (n);i++)
usingnamespacestd;usingll=longlong;usingpii=pair<int,int>;doublepi=3.141592653589793;intmain(){inta,b,h,m;cin>>a>>b>>h>>m;doublex,y;x=30*h+0.5*m;y=m*6;doubler=abs(x-y);doublek=min(r,360-r);k/=180;doublec=cos(pi*k);doublexx=a*a+b*b-2*a*b*c;doubleans=pow(xx,0.5);cout<<fixed<<setprecision(10)<<ans<<endl;}
最後に
ABC168のC問題で始めてcosやsinを使おうとしたのでかなり手間取ってしまった。ラジアンとπラジアンをちゃんと区別するべきだった。
難易度 | かかった平均時間 | 解けた問題数 |
---|---|---|
A | 1分20秒 | 2問中2問 |
B | 36分33秒 | 2問中2問 |