Pagini recente » Cod sursa (job #2858714) | Cod sursa (job #577870) | Cod sursa (job #2134064) | Cod sursa (job #1589645) | Cod sursa (job #587798)
Cod sursa(job #587798)
#include <cstdio>
#include <algorithm>
FILE *g=fopen("ge.in","r");
FILE *z=fopen("ze.out","w");
using namespace std;
int n,v[24225],o;
void sort(int l,int r)
{
int i=l,j=r;
int x=v[(l+r)/2];
while(i<=j)
{
while(v[i]<x)
i++;
while(v[j]>x)
j--;
if(i<=j)
{
swap(v[i],v[j]);
i++;
j--;
}
}
if(l<j)
sort(l,j);
if(i<r)
sort(i,r);
}
void binar()
{
int down=1,high=n,t;
while(down<=high)
{
t=(down+high)/2;
if(v[t]<o)
down=t+1;
else if(v[t]>o)
high=t-1;
else
{
fprintf(z,"\nElementul %d a fost gasit pe poz %d.",o,t);
return ;
}
}
}
int main()
{
int i;
fscanf(g,"%d%d",&n,&o);
for(i=1;i<=n;i++)
fscanf(g,"%d",&v[i]);
sort(1,n);
for(i=1;i<=n;i++)
fprintf(z,"%d ",v[i]);
binar();
return 0;
}