Advertisement
sajid161

18:1

May 5th, 2021
622
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.67 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. const int mx=1e5+123;
  4. int n;
  5. int a[mx];
  6. int b[mx];
  7. int find_val(int p)
  8. {
  9.     int l=1,r=n;
  10.     while(l<=r)
  11.     {
  12.         int mid=(l+r)/2;
  13.         if(p>=a[mid]&&p<=b[mid])
  14.         {
  15.             return mid;
  16.         }
  17.         else if(p<a[mid]) r=mid-1;
  18.         else l=mid+1;
  19.  
  20.     }
  21. }
  22. int main()
  23. {
  24.  
  25.     cin>>n;
  26.     vector<int>v(n);
  27.     for(int i=1;i<=n;i++) cin>>v[i];
  28.     int last=0;
  29.     for(int i=1;i<=n;i++)
  30.     {
  31.         a[i]=last+1;
  32.         b[i]=last+v[i];
  33.         last=b[i];
  34.     }
  35.     int q;
  36.     cin>>q;
  37.     while(q--)
  38.     {
  39.         int p;
  40.         cin>>p;
  41.         cout<<find_val(p)<<endl;
  42.     }
  43.  
  44. }
  45.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement