#include<bits/stdc++.h>
using namespace std;
int main(){
vector<pair<long long,long long>> V;
long long n;
cin>>n;
for(long long i=0;i<n;i++){
long long a,b;
cin>>a>>b;
V.push_back(make_pair(a,b));
}
sort(V.begin(),V.end()); //los ordenaaa
long long sum=0,best=0,i=0;
for (int k=0;k<n; k++) {
if(V[k].second>sum+V[k].second-(V[k].first-V[i].first)){ //es mejor si no lo tomara
i=k; //nuevo inicio
sum=V[k].second; //inicia la suma + el que estaba ahi
}else{
sum+=V[k].second; //si no se resetea, esta bien y se suma
}
best = max(best,sum-(V[k].first-V[i].first)); //es mejor el best o suma-()
}
cout <<best<<"\n";
}
# | 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... |