Pagini recente » Cod sursa (job #2893740) | Cod sursa (job #3261431) | Cod sursa (job #755743) | Cod sursa (job #981679) | Cod sursa (job #2073790)
#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)<<"\n";
return 0;
}