Submission #1214103

#TimeUsernameProblemLanguageResultExecution timeMemory
1214103yogesh_saneSails (IOI07_sails)C++20
100 / 100
54 ms4420 KiB
#include <iostream> #include <vector> #include <algorithm> #include <set> using namespace std; int main() { int n; cin>>n; vector<pair<int, int>>masts(n); multiset<int> ms; for(int i=0; i<n; i++) cin>>masts[i].first>>masts[i].second; sort(masts.begin(),masts.end()); ms.insert(0); for(int i=0; i < n; i++){ int h = masts[i].first; int k = masts[i].second; ms.insert(h); auto p = ms.upper_bound(h-k); auto q = prev(p); int aux = k + *p + *q - h; if(q!= ms.begin()) ms.erase(q); ms.insert(aux); ms.erase(p); } long long ans=0, cnt=0; for(auto it = --ms.end(); it != ms.begin(); it--, cnt++) ans += cnt*(*it); cout<<ans << '\n'; 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...