Submission #170558

#TimeUsernameProblemLanguageResultExecution timeMemory
170558mdn2002Unija (COCI17_unija)C++14
80 / 100
1079 ms42248 KiB
#include<bits/stdc++.h> using namespace std; const long long mod=998244353; multiset<int>ms; int n,k; map<int,int>a; int v[1000006]; 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]]==0) { v[a[y+1]]=x; ms.insert(x); continue; } if(v[a[y+1]]<x) { ms.erase(ms.lower_bound(v[a[y+1]])); ms.insert(x); v[a[y+1]]=x; } } long long ans=0; for(int i=1;i<=10000004;i++) { if(v[a[i]]!=0) { int x=v[a[i]]; ms.erase(ms.lower_bound(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...