제출 #1345603

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

using namespace std;
const int N = 1<<20;
long long Pre[N], Suf[N], Pct[N], Sct[N], a[N], b[N];

int main(){
	long long n, Ans = 1e18, Sum = 0;
	cin>>n;

	for (int i=1;i<=n;i++){
		cin>>a[i]>>b[i];
		int k = min(a[i], b[i]);
		a[i] -= k, b[i] -= k;
		Sum += a[i];
	}

	for (int i=1;i<=n;i++){
		Pre[i] = Pre[i-1] + a[i] - b[i];
		Pct[i] = Pct[i-1] + abs(Pre[i]);
	}

	for (int i=n;i>=1;i--){
		Suf[i] = Suf[i+1] + a[i] - b[i];
		Sct[i] = Sct[i+1] + abs(Suf[i]);
	}


	for (int i=1;i<=n;i++){
		if (a[i] > 0)
			Ans = min(Ans, Pct[i-1] + Sct[i+1] + abs(a[i] - b[i] - 1));
	}

	if (Pre[n])
		cout<<Ans<<'\n';
	else
		cout<<Pct[n]<<'\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...