Pagini recente » Cod sursa (job #122690) | Cod sursa (job #1941196) | Statistici Bretea Carmen (carm3n) | Cod sursa (job #1784583) | Cod sursa (job #1953540)
#include <iostream>
#include <fstream>
using namespace std;
int N,M,v[100];
ifstream f("cautbin.in");
ofstream o("cautbin.out");
int poz_max(int x)
{
int hi,lo;
int mid;
hi=N;
lo=-1;
while(hi-lo>1)
{
mid=(lo+hi)/2;
if(v[mid]<=x)
lo=mid;
else hi=mid;
}
return lo;
}
int poz_min(int x)
{
int hi,lo;
int mid;
hi=N;
lo=-1;
while(hi-lo>1)
{
mid=(lo+hi)/2;
if(v[mid]>=x)
hi=mid;
else lo=mid;
}
return hi;
}
int main()
{
int r,val;
f>>N;
for(int i=0;i<N;i++){
f>>v[i];
}
f>>M;
for(int i=0;i<M;i++)
{
f>>r;
f>>val;
if(r==0){
int poz=poz_max(val);
if(poz!=-1)
poz++;
o<<poz<<'\n';
}
if(r==1){
int poz=poz_max(val);
poz++;
o<<poz<<'\n';
}
if(r==2){
int poz=poz_min(val);
poz++;
o<<poz<<'\n';
}
}
return 0;
}