fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define endl '\n'
  4. #define pb emplace_back
  5. #define run ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);cerr.tie(0);
  6.  
  7.  
  8. vector<int>id[100009];
  9.  
  10. signed main()
  11. {
  12.  
  13.  
  14. run;
  15.  
  16.  
  17.  
  18. int n,i,q;
  19. cin>>n>>q;
  20.  
  21. vector<int>a(n,0),v;
  22.  
  23. for(i=0;i<n;i++)
  24. {
  25. cin>>a[i];
  26. id[a[i]].pb(i+1);
  27. }
  28.  
  29. while(q--)
  30. {
  31. int id1,l,r,k,x,y;
  32. cin>>id1>>k>>l>>r;
  33.  
  34. auto it=lower_bound(id[id1].begin(),id[id1].end(),l);
  35. if(it==id[id1].end())
  36. {
  37. cout<<-1<<endl;
  38. continue;
  39. }
  40.  
  41. x=it-id[id1].begin();
  42. y=x+k-1;
  43. if(y<id[id1].size())
  44. {
  45.  
  46. if(id[id1][y]<=r)
  47. {
  48. cout<<id[id1][y]<<endl;
  49. }
  50. else
  51. {
  52. cout<<-1<<endl;
  53. }
  54. }
  55. else
  56. cout<<-1<<endl;
  57.  
  58.  
  59. }
  60.  
  61.  
  62. }
  63.  
Success #stdin #stdout 0.01s 5964KB
stdin
5 3
1 2 1 3 2
2 2 2 5
2 2 2 4
1 2 1 3
stdout
5
-1
3