Submission #1214094

#TimeUsernameProblemLanguageResultExecution timeMemory
1214094yogesh_saneSails (IOI07_sails)C++20
100 / 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+1,v+n+1); 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=prev(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...