Submission #699683

#TimeUsernameProblemLanguageResultExecution timeMemory
699683Mohamed_Kachef06Art Exhibition (JOI18_art)C++17
100 / 100
532 ms13024 KiB

#include <bits/stdc++.h>
using namespace std;
#define int long long
#define A first
#define B second
signed main(){
   int n;
   cin >> n;
   pair<int , int> p[n+1];
   for (int i = 1 ; i<=n ; i++){
      int a , b;
      cin >> a >> b;
      p[i] = {a , b};
   }
   sort(p , p+n+1);
   for (int i = 1 ; i<=n ; i++){
      p[i].B += p[i-1].B;
   }
   int mn[n+1] = {};
   for (int i = 0 ; i<=n ; i++) mn[i] = 1e18;
   for (int i = 1 ; i<=n ; i++){
     mn[i] = min(p[i-1].B - p[i].A , mn[i-1]);
   }
    int ans = -1e18;
    for (int i = 1; i<=n ; i++){
        if ((p[i].B - p[i].A) - mn[i] > ans ) ans = (p[i].B - p[i].A) - mn[i] ;
    }
    cout << ans << '\n';
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...