Cod sursa(job #181397)

Utilizator toni2007Pripoae Teodor Anton toni2007 Data 18 aprilie 2008 12:12:49
Problema Cautare binara Scor Ascuns
Compilator c Status done
Runda Marime 0.85 kb
#include <stdio.h>
#include <stdlib.h>
#define N 100010
int n,v[N];
int solve0(int val){
    int i;
    for (i=1;i<=n && v[i]<val;++i);
    if (v[i]==val)
       return i;
    return -1;
}
int solve1(int val){
    int i;
    for (i=1;i<=n && v[i]<=val;++i);
    return i-1;
}
int solve2(int val){
    int i;
    for (i=1;i<=n && v[i]<val;++i);
    return i;
}
int main(){
    int i,m,val,tip;
    freopen("cautbin.in","r",stdin);
    freopen("cautbin.out","w",stdout);
    scanf("%d",&n);
    for (i=1;i<=n;++i)
        scanf("%d",&v[i]);
    scanf("%d",&m);
    while (m--){
          scanf("%d%d",&tip,&val);
          if (tip==0)
             printf("%d\n",solve0(val));
          if (tip==1)
             printf("%d\n",solve1(val));
          if (tip==2)
             printf("%d\n",solve2(val));
    }          
    exit(0);
}