Cod sursa(job #1783213)

Utilizator MihaiFilipoiuMihai Filipoiu MihaiFilipoiu Data 18 octombrie 2016 21:09:12
Problema Cautare binara Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 1.07 kb
#include <iostream>
#include <fstream>
using namespace std;
int zero(int x,int v[100],int n)
{
    int g=0;
    for(int i=n-1; i>=0 && !g; i--)
        if(v[i]==x)
        {
            g+=1;
            return i+1;
        }
    if(!g)
        return -1;
}
int unu(int x,int v[100],int n)
{
    int g=0;
    for(int i=n-1; i>=0 && !g; i--)
        if(v[i]<=x)
        {
            g+=1;
            return i+1;
        }
}
int doi(int x,int v[100],int n)
{
    int g=0;
    for(int i=0; i<n && !g; i++)
        if(v[i]>=x)
        {
            g+=1;
            return i+1;
        }
}
int main()
{
    int n,v[100000],i,x,j;
    ifstream f("cautbin.in");
    ofstream g("cautbin.out");
    f>>n;
    for(i=0;i<n;i++)
        f>>v[i];
    f>>i;
    while(i>0)
    {
        f>>j;
        f>>x;
        if(j==0)
            g<<zero(x,v,n)<<"\n";
        else
            if(j==1)
                g<<unu(x,v,n)<<"\n";
            else
                if(j==2)
                    g<<doi(x,v,n)<<"\n";
        i--;
    }
}