Submission #1196558

#TimeUsernameProblemLanguageResultExecution timeMemory
1196558PetrixSails (IOI07_sails)C++20
65 / 100
55 ms5192 KiB
#include <iostream> #include <algorithm> #include <set> using namespace std; #define int long long pair<int,int> v[100001]; multiset<int> s; signed main() { int n,i,aux,h,k,rasp=0,cnt=0; cin>>n; for(i=1;i<=n;i++){ cin>>v[i].first>>v[i].second; } sort(v,v+n);s.insert(0); for(i=1;i<=n;i++){ h=v[i].first;k=v[i].second; s.insert(h); auto p=s.upper_bound(h-k);auto q=p;q--; aux=k+*p+*q-h; if(q!=s.begin()) s.erase(q); s.insert(aux);s.erase(p); } auto it=s.end(); while(it!=s.begin()){ it--; rasp+=cnt*(*it); cnt++; } cout<<rasp; return 0; }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...