Pagini recente » Rating Meme Coin (memecoin) | Diferente pentru preoni-2006/runda-1/solutii intre reviziile 22 si 26 | Istoria paginii utilizator/bogdyarevaloare | Riremito | Cod sursa (job #1703969)
#include <fstream>
using namespace std;
ifstream in("cautbin.in");
ofstream out("cautbin.out");
int n;
int v[100001];
void read() {
for(int i=1;i<=n;i++)
in>>v[i];
}
int response0(int x) {
int pas = 1<<16;
int i=0;
while(pas != 0) {
if(i+pas <= n and v[i+pas] == x)
i += pas;
pas /= 2;
}
if(i == 0)
return -1;
return i;
}
int response1(int x) {
int pas = 1<<16;
int i=0;
while(pas != 0) {
if(i+pas <= n and v[i+pas] <= x)
i += pas;
pas /= 2;
}
return i;
}
int response2(int x) {
int pas = 1<<16;
int i=0;
while(pas != 0) {
if(i+pas <= n and v[i+pas] < x)
i += pas;
pas /= 2;
}
return i+1;
}
int main() {
int m;
int request;
int criterion;
in>>n;
read();
in>>m;
for(int t=1;t<=m;t++) {
in>>request>>criterion;
if(request == 0)
out<<response0(criterion)<<"\n";
else if(request == 1)
out<<response1(criterion)<<"\n";
else
out<<response2(criterion)<<"\n";
}
in.close();
out.close();
return 0;
}