Codeforces 785 - A/B/C/D/E - (Undone)
链接:https://codeforces.com/contest/785
A - Anton and Polyhedrons
#include<bits/stdc++.h> using namespace std; const int maxn=2e5+10; map<string,int> mp; int n,sum; string str; int main() { ios::sync_with_stdio(0); cin.tie(0), cout.tie(0); mp.clear(); mp["Tetrahedron"]=4; mp["Cube"]=6; mp["Octahedron"]=8; mp["Dodecahedron"]=12; mp["Icosahedron"]=20; cin>>n, sum=0; while(n--) cin>>str, sum+=mp[str]; cout<<sum<<endl; }
B - Anton and Classes
#include<bits/stdc++.h> #define pb(x) push_back(x) using namespace std; typedef pair<int,int> P; #define fi first #define se second #define mk(x,y) make_pair(x,y) const int MAX=2e5+10; int n,m,x,y; vector<P> A; P L,R; int main() { ios::sync_with_stdio(0); cin.tie(0), cout.tie(0); cin>>n; while(n--) { cin>>x>>y; A.pb(mk(x,y)); } cin>>m; L=mk(0,(int)2e9), R=mk(0,0); while(m--) { cin>>x>>y; if(y<L.se) L=mk(x,y); if(x>R.fi) R=mk(x,y); } // cout<<L.fi<<" "<<L.se<<endl; // cout<<R.fi<<" "<<R.se<<endl; int res=0; for(auto x:A) { int now=0; if(x.fi>L.se) now=max(now,x.fi-L.se); if(x.se<R.fi) now=max(now,R.fi-x.se); res=max(res,now); } cout<<res<<endl; }
C - Anton and Fairy Tale - [算术题]
#include<bits/stdc++.h> using namespace std; typedef long long ll; ll n,m; int main() { cin>>n>>m; if(n<=m) cout<<n<<endl; else { ll k=sqrt(2*(n-m)); while(k*(k+1)/2<n-m) k++; cout<<m+k<<endl; } }
D - Anton and School - 2 - [范德蒙德恒等式][快速幂+逆元]
转载请注明出处:https://dilthey.cnblogs.com/