제출 #1346791

#제출 시각아이디문제언어결과실행 시간메모리
1346791Jawad_Akbar_JJPotatoes and fertilizers (LMIO19_bulves)C++20
100 / 100
185 ms4648 KiB
#include <iostream>
#include <queue>

using namespace std;

int main(){
	long long n, Min = 0, p = 0;
	cin>>n;

	priority_queue<long long> A;
	

	for (int i=1, a, b;i<=n;i++){
		cin>>a>>b;
		p += a - b;

		if (p < 0)
			Min += -p;
		long long P = max(0LL, p);
		
		if (i == n){
			while (A.size() > 0 and A.top() > p)
				Min += A.top() - p, A.pop();
		}
		else if (A.size() == 0)
			A.push(P);
		else if (P < A.top()){
			Min += A.top() - P;
			A.pop(), A.push(P), A.push(P);
		}
		else
			A.push(P);
		
	}
	cout<<Min<<'\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...
#Verdict Execution timeMemoryGrader output
Fetching results...