Submission #1174120

#TimeUsernameProblemLanguageResultExecution timeMemory
1174120selunelleUnija (COCI17_unija)C++20
40 / 100
1100 ms117964 KiB
#include<bits/stdc++.h> using namespace std; #define ll long long int main(){ ll n,i,j,k=0; cin>>n; set<ll> s; map<ll,ll> mp; vector<vector<ll> >v(n,vector<ll>(2)); vector<pair<ll,ll> > r,ne; for(i=0;i<n;i++){ cin>>v[i][0]>>v[i][1]; if(s.count(v[i][0]/2)==0){ s.insert(v[i][0]/2); mp[v[i][0]/2]=v[i][1]/2; }else{ mp[v[i][0]/2]=max(mp[v[i][0]/2],v[i][1]/2); } } for(auto w:mp){ r.push_back({w.first,w.second}); } ne.push_back({0,0}); sort(r.begin(),r.end()); for(i=0;i<r.size()-1;i++){ if(r[i].first<r[i+1].first and r[i].second<r[i+1].second){ continue; }else{ ne.push_back(r[i]); } } ne.push_back(r[r.size()-1]); for(i=ne.size()-1;i>0;i--){ k+=(ne[i].first-ne[i-1].first)*ne[i].second; } cout<<k*4; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...