Pagini recente » Cod sursa (job #1045189) | Cod sursa (job #3204606) | Cod sursa (job #2829682) | Cod sursa (job #2431296) | Cod sursa (job #1098295)
#include <fstream>
using namespace std;
int i,n,p,u,m,x,M,tip,j,pmax,poz;
int v[100002];
ifstream f("cautbin.in");
ofstream g("cautbin.out");
int main() {
f>>n;
for (i=1;i<=n;i++)
f>>v[i];
f>>M;
for (i=1;i<=M;i++) {
f>>tip>>x;
if (tip==0) {
p=1;
u=n;
pmax =-1;
while (p<=u) {
m=p+(u-p)/2;
if (x==v[m])
if (m>pmax)
pmax=m;
if (x>v[m])
p=m+1;
else
u=m-1;
}
g<<pmax<<'\n';
}
if (tip==1) {
p=1;
u=n;
while (p<=u) {
m=p+(u-p)/2;
if (v[m]<=x) {
poz = m;
p = m+1;
}
else
u = m-1;
}
g<<poz<<'\n';
}
if (tip==2) {
p=1;
u=n;
while (p<=u) {
m=p+(u-p)/2;
if (x<=v[m]) {
poz = m;
u=m-1;
}
else
p=m+1;
}
g<<poz<<'\n';
}
}
g.close();
return 0;
}