Buongiorno, stavo provando a risolvere il problema autogrill ma non capisco il perchè mi dia un output strano.
con questo input:
7
q 3
a 5
q 4
a 2
c 5
a 6
q 4
mi da questo output:
-1
-1
6
#include <bits/stdc++.h>
using namespace std;
set<long long>s;
set<long long>sn;
void inizia(){
}
void apri(long long p){
s.insert(p);
sn.insert(-p);
}
void chiudi(long long p){
s.erase(p);
sn.erase(-p);
}
long long chiedi(long long p){
if(s.empty())return -1;
long long a = *s.lower_bound(p);
long long b = -*sn.lower_bound(-p);
return (a-p)==(p-b) ? a : min(a,b);
}