Submission #1049766

#TimeUsernameProblemLanguageResultExecution timeMemory
1049766vjudge1Art Exhibition (JOI18_art)C++17
100 / 100
337 ms24796 KiB
#include<algorithm>
#include<iostream>
#include<vector>
#include<queue>
#include<set>
using namespace std;

#define ll long long

const ll maxn=500001;

ll n,ans=0,an[maxn];
pair<ll,ll> art[maxn];
      
int main(){
      cin>>n;
      for(int i=0;i<n;i++){
            cin>>art[i].first>>art[i].second;
      }
      sort(art,art+n);
      an[n-1]=art[n-1].second;
      ans=an[n-1];
      for(ll i=n-2;i>=0;i--){
            an[i]=max(art[i].second+(an[i+1]-art[i+1].first+art[i].first),art[i].second);
            /*
            ll su=0;
            for(int j=i;j<n;j++){
                  su+=art[j].second;
                  ans=max(ans,su-(art[j].first-art[i].first));
            }*/
            ans=max(ans,an[i]);
      }
      cout<<ans<<endl;
      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...