In this HackerEarth Nice Queries problem solution, You are given an array A of length N which is initialized with 0. You will be given Q queries of two types:

1 k: set value 1 at index k in array A

2 y: print the smallest index x which is greater than or equal to y and having value 1. If there is no such index print 1.


HackerEarth Nice Queries problem solution


HackerEarth Nice Queries problem solution.

#include <iostream>
#include <map>
using namespace std;
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    map<int, int> m;
     map<int, int> ::iterator it;
int n,q,a,y,z;
cin>>n>>q;
while(q--)
{
    cin>>y>>z;
    if(y==1)
      {
          m[z]=1;
      }
      else{
    it = m.lower_bound(z);

    if ( it != m.end() )
    {
        cout << (it )->first <<"\n";
    }
    else
        cout<<"-1\n";
      }
}
    return 0;
}