Cod sursa(job #1328778)
Utilizator | Andrei Savu asavu16 | Data | 28 ianuarie 2015 19:04:20 |
---|---|---|---|
Problema | Cautare binara | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 1.16 kb |
#include <fstream>
using namespace std;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
int a[100003],n,m,i,j,x,y,Min,Max,sol[100002],s;
int main()
{
f>>n;
for(i=1; i<=n; ++i)
f>>a[i];
f>>m;
Min=20;
for(i=1; i<=m; ++i)
{
f>>x>>y;
if(x==0)
{
for(j=1; j<=n; ++j)
{
if(y==a[j])
{
if(j>Max)
Max=j;
}
}
sol[++s]=Max;
}
if(x==1)
{
for(j=1; j<=n; ++j)
{
if(y>=a[j])
{
if(j>Max)
Max=j;
}
}
sol[++s]=Max;
}
if(x==2)
{
for(j=1; j<=n; ++j)
{
if(y<=a[j])
{
if(Min>j)
Min=j;
}
}
sol[++s]=Min;
}
}
for(i=1;i<=s;++i){
if(sol[i]==0)
sol[i]=-1;
g<<sol[i]<<'\n';
}
return 0;
}