This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	int n , query;
	cin >> n >> query;
	vector<int> prefix(n+1 , 0);
	vector<int> costs(n+1);
	for(int i=0 ; i<n ; i++){
		int x , cost;
		cin >> x >> cost;
		costs[i+1] = cost;
	}
	for(int i=1 ; i<=n ; i++){
		prefix[i] = prefix[i-1] + costs[i];
	}
	while(query--){
		int start , weight , best = 0;
		cin >> start >> weight;
		weight += prefix[start-1];
		int l = start , r = n;
		while(l <= r){
			int mid = l + (r - l) / 2;
			if(prefix[mid] >= weight){
				best = mid;
				r = mid - 1;
			} 
			else{
				l = mid + 1;
			}
		}
		cout << best << '\n';
	}
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |