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;
}