Mai intai trebuie sa te autentifici.
Cod sursa(job #2290716)
Utilizator | Data | 26 noiembrie 2018 21:00:41 | |
---|---|---|---|
Problema | Cautare binara | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.68 kb |
#include <iostream>
#include <fstream>
#include <climits>
using namespace std;
int n,i,v[10000],mid,st,dr,el,c,M,poz=INT_MAX;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
int main()
{
f>>n>>el;
for(i=1;i<=n;i++)
f>>v[i];
st=0;
dr=n;
mid=(st+dr+1)/2;
f>>M;
for(i=0;i<=M;i++)
{
f>>c>>el;
while(st<dr)
{
if(el>v[mid])
{
st=mid;
mid=(st+dr+1)/2;
}
else
{
dr=mid;
mid=(st+dr)/2;
}
if(mid<poz)
poz=mid;
}
if(c==0 && c==1)
g<<mid;
else g<<poz;
}
return 0;
}