Submission #170550

#TimeUsernameProblemLanguageResultExecution timeMemory
170550mdn2002Unija (COCI17_unija)C++14
70 / 100
358 ms65540 KiB
#include<bits/stdc++.h> using namespace std; const long long mod=998244353; multiset<int>ms; int n,k; map<int,int>a; multiset<int>v[1000000]; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); //freopen("lemonade.in","r",stdin); //freopen("lemonade.out","w",stdout); cin>>n; for(int i=0;i<n;i++) { int x,y; cin>>x>>y; x/=2; y/=2; if(a[y+1]==0)a[y+1]=++k; if(v[a[y+1]].size()==0) { v[a[y+1]].insert(x); ms.insert(x); continue; } if(*--v[a[y+1]].end()<x) { ms.erase(ms.find(*v[a[y+1]].begin())); ms.insert(x); v[a[y+1]].clear(); v[a[y+1]].insert(x); } } long long ans=0; for(int i=1;i<=10000004;i++) { if(v[a[i]].size()) { int x=*v[a[i]].begin(); ms.erase(ms.find(x)); } if(ms.size()==0)break; ans+=*--ms.end(); } cout<<ans*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...