Cod sursa(job #1869726)

Utilizator AlexDontuAlex Dontu AlexDontu Data 6 februarie 2017 09:25:41
Problema Cautare binara Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin ("cautbin.in");
ofstream fout ("cautbin.out");
int v[1000001],a[1000001];
int main()
{int n,i,x,t,p,s,m,y;
fin>>n;
for (i=1;i<=n;i++) {fin>>v[i];
                    a[v[i]]++;}
fin>>m;
for (i=1;i<=m;i++) {fin>>x>>y;
                    if (x==0) {if (a[y]>=1) {t=upper_bound(v+1,v+n+1,y)-v;
                                             }
                                else if (a[y]==0) t=1;
                               fout<<t-1<<endl;}
                    if (x==1) {p=upper_bound(v+1,v+n+1,y)-v;
                               fout<<p-1<<endl;}
                    if (x==2) {p=lower_bound(v+1,v+n+1,y)-v;
                               fout<<p<<endl;}}


    return 0;
}