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... |