Submission #1168688

#TimeUsernameProblemLanguageResultExecution timeMemory
1168688epicci23Potatoes and fertilizers (LMIO19_bulves)C++20
100 / 100
144 ms16392 KiB
#include "bits/stdc++.h"
#define int long long
#define all(v) v.begin() , v.end()
#define sz(a) (int)a.size()
using namespace std;

void _(){
  int n; cin >> n;
  array<int,2> ar[n+5];
  int pre[n+5],ans=0;
  pre[0]=0;
  for(int i=1;i<=n;i++){
  	cin >> ar[i][0] >> ar[i][1];
  	pre[i] = pre[i-1] + (ar[i][0] - ar[i][1]);
  }
  
  priority_queue<int> pq;

  for(int i=1;i<n;i++){
  	if(pre[i] < 0){
  	  ans -= pre[i];
  	  pre[i] = 0;
  	}
  	ans += pre[i];
  	pq.push(pre[i]);
  	pq.push(pre[i]);
  	pq.pop();
  }
  while(!pq.empty()){
  	ans -= min(pre[n], pq.top());
  	pq.pop();
  }
  cout << ans << '\n';
}

int32_t main(){
  cin.tie(0); ios::sync_with_stdio(0);
  int tc=1;//cin >> tc;
  while(tc--) _();
  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...