Pagini recente » Cod sursa (job #50471) | Cod sursa (job #2261100) | Cod sursa (job #2239473) | Cod sursa (job #2427127) | Cod sursa (job #1136160)
#include<stdio.h>
#define N 1048576
int v[N],orig[N],ap[N];
int cautbin(int st,int dr,int val)
{
int mij=(st+dr)/2;
while(st<=dr)
{
mij=(st+dr)/2;
if(orig[mij]==val)
return mij;
else
if(orig[mij]<val)
st=mij+1;
else
dr=mij-1;
}
return 0;
}
int main()
{
FILE *fin,*fout;
fin=fopen("secv5.in","r");
fout=fopen("secv5.out","w");
int n,l,u;
fscanf(fin,"%d%d%d",&n,&l,&u);
int i;
for(i=0; i<n; i++)
{
fscanf(fin,"%d",&v[i]);
orig[i]=v[i];
}
i=0;
int poz=0;
while(i<n)
{
while(orig[poz]==orig[i]&&i<n)
i++;
if(i<n)
orig[++poz]=orig[i];
i++;
}
for(i=0;i<n;i++)
{
v[i]=cautbin(0,poz,v[i]);
}
return 0;
}