171072025-05-22 18:36:02999Autózáscpp17Time limit exceeded 0/100300ms9780 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long

signed main() {
	int n,k;cin>>n>>k;
	vector<int> tav(n),v(n),w(n);
	for(int i = 0;i<n;i++){
		cin>>v[i]>>w[i];
		if(i>0)tav[i]=tav[i-1]+v[i-1];
	}
	tav.push_back(tav[n-1]+v[n-1]);
	v.push_back(0);
	w.push_back(0);
	deque<pair<int,int>> q;
	int gas=0,cost=0,j=0,i=0;
	while(i<=n){
		j=max(i,j);
		if(q.front().second<i)q.pop_front();
		while(j<=n&&tav[j]<gas+tav[i]){
			while(!q.empty()&&q.back().first>=w[j])q.pop_back();
			q.push_back({w[j],j});
			j++;
		}
		if(j==n){
			break;
		}
		int kell=tav[j]-tav[i]-gas;
		gas-=tav[q.front().second]-tav[i];
		i=q.front().second;
		cost+=w[i];
		gas+=kell;
	}
	cout<<cost<<endl;
}
SubtaskSumTestVerdictTimeMemory
base0/100
1Time limit exceeded0/0284ms316 KiB
2Time limit exceeded0/0284ms9780 KiB
3Time limit exceeded0/5284ms316 KiB
4Time limit exceeded0/5284ms500 KiB
5Time limit exceeded0/5282ms316 KiB
6Time limit exceeded0/5284ms316 KiB
7Time limit exceeded0/5284ms316 KiB
8Time limit exceeded0/5284ms508 KiB
9Runtime error0/51ms316 KiB
10Runtime error0/51ms508 KiB
11Time limit exceeded0/5280ms2156 KiB
12Time limit exceeded0/5280ms3224 KiB
13Time limit exceeded0/5280ms3176 KiB
14Time limit exceeded0/5300ms6096 KiB
15Time limit exceeded0/5270ms6324 KiB
16Time limit exceeded0/5270ms5892 KiB
17Time limit exceeded0/5284ms5952 KiB
18Time limit exceeded0/5300ms5684 KiB
19Time limit exceeded0/5282ms9012 KiB
20Time limit exceeded0/5284ms9120 KiB
21Time limit exceeded0/5277ms9324 KiB
22Time limit exceeded0/5300ms9780 KiB