Pagini recente » Cod sursa (job #724696) | Cod sursa (job #2382700) | Cod sursa (job #1152500) | Cod sursa (job #2390632) | Cod sursa (job #2073788)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
const int L=16;
int n,v[100001],x;
int o2(int n, int v[100001],int x)
{
int r, pas;
r=0;
pas=1<<L;
while(pas!=0)
{
if(v[r]!=x)
{
r=-1;
}
if(r+pas<=n && v[r+pas]<=x)
{
r+=pas;
}
pas/=2;
}
return r;
}
int i2(int n, int v[100001])
{
int r, pas;
r=0;
pas=1<<L;
while(pas!=0)
{
if(r+pas<=n && v[r+pas]<=x)
{
r+=pas;
}
pas/=2;
}
return r;
}
int e3(int n, int v[100001])
{
int r, pas;
r=0;
pas=1<<L;
while(pas!=0)
{
if(r+pas<=n && v[r+pas]<x)
{
r+=pas;
}
pas/=2;
}
r++;
return r;
}
int main()
{
f>>n;
for(int i=1;i<=n;i++)
{
f>>v[i];
}
f>>x;
g<<o2(n,v,x)<<"\n";
g<<i2(n,v)<<"\n";
g<<e3(n,v);
return 0;
}