Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <set>#include <map>#include <stack>#include <queue>#include <cmath>#include <vector>#include <string>#include <cstdio>#include <cstring>#include <cstdlib>#include <iostream>#include <algorithm>#define MAX(a,b) ((a)>=(b)?(a):(b))#define MIN(a,b) ((a)<=(b)?(a):(b))#define OO 0x0fffffffusing namespace std;typedef long long LL;set<int> sets;int main(){int N,K,data; cin>>N>>K; K++;sets.insert(0); sets.insert(N+1);int ans = -2;bool finded = false;for(int i=0;i<N;i++){scanf("%d",&data);if(finded) continue;auto iter = sets.upper_bound(data);