Cod sursa(job #1592364)

Utilizator gabime11Gabriel gabime11 Data 7 februarie 2016 15:35:44
Problema Cautare binara Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.11 kb
#include<iostream>
#include<fstream>
using namespace std;
int zero(int v[100002], int n, int k)
{
    int i;
    for(i=n;i>=1;i--)
    {
        if(v[i]==k)
        {
            return i;
        }
    }
    return 0;
}
int unu(int v[100002], int n, int k)
{
    int i;
    for(i=n;i>=1;i--)
    {
        if(v[i]<=k)
        {
            return i;
        }
    }
    return 0;
}
int doi(int v[100002], int n, int k)
{
    int i;
    for(i=1;i<=n;i++)
    {
        if(v[i]>=k)
        {
            return i;
        }
    }
    return 0;
}
int main()
{
    int v[100002],i,j,N,M,x,t;
    ifstream fin("cautbin.in");
    ofstream fout("cautbin.out");
    fin>>N;
    for(i=1;i<=N;i++)
    {
        fin>>j;
        v[i]=j;
    }
    fin>>M;
    for(i=1;i<=M;i++)
    {
        fin>>t>>x;
        if(t==0)
        {
            fout<<zero(v,N,x)<<'\n';
        }
        if(t==1)
        {
            fout<<unu(v,N,x)<<'\n';
        }
        if(t==2)
        {
            fout<<doi(v,N,x)<<'\n';
        }
    }
    fin.close();
    fout.close();
    return 0;
}