Submission #388710

#TimeUsernameProblemLanguageResultExecution timeMemory
388710victoriadFountain (eJOI20_fountain)C++14
30 / 100
82 ms4932 KiB
#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
#include <utility>
#include <queue>
#include <map>
#include <iomanip>
#include <stack>
#include <fstream>
using namespace std;

int search(int l,vector<long long int>&v){
int low=0,hi=v.size(),r=-1,mid;
while(low<=hi){
  mid=low+(hi-low)/2;
  if(v[mid]>=l){
    r=mid;
    hi=mid-1;
  }
  else{
    low=mid+1;
  }
}
if(r==-1)return 0;
else return r+1;
}
 
int main(){
  ios::sync_with_stdio(false);
   cin.tie(NULL);
    int n,q;
    cin>>n>>q;
    int d,vo,r,l;
    vector<long long int>v(n);
    cin>>d>>vo;
    v[0]=vo;
    for(int i=1;i<n;i++){
      cin>>d>>vo;
      v[i]=v[i-1]+vo;
    }
    for(int i=0;i<q;i++){
      cin>>r>>l;
      r--;
      if(r!=0){
        l+=v[r-1];
      }
      cout<<search(l,v)<<"\n";
    }
  return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...