This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
signed main() {
int n; cin>>n;
vector<pair<long long,long long>>vv(n);
for(auto &z : vv)
cin >> z.first >> z.second;
sort(vv.begin(),vv.end());
vv.push_back({-1,0});
vector<pair<long long,long long>>v;
long long ele = vv[0].first;
long long curr = 0;
for(int i = 0 ; i <= n ; i++) {
if(vv[i].first != ele)
v.push_back({ele,curr}),curr=0,ele=vv[i].first;
curr+=vv[i].second;
}
long long profit = 0;
long long ans = 0;
for(int i = 0 ; i < (int)v.size() ; i++) {
profit+=v[i].second;
if(i > 0) profit-=(v[i].first-v[i-1].first);
profit=max(profit,v[i].second);
ans=max(ans,profit);
}
cout << ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |