Cod sursa(job #829384)

Utilizator cristi_berceanuFMI - Cristi Berceanu cristi_berceanu Data 5 decembrie 2012 11:31:08
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include<cstdio>
#define NMAX (1<<15)
#define LS(x) (x<<1)
#define RS(x) (x<<1+1)
#define inf (1<<31-1)
int i,N,x,v[NMAX];
inline int min(int a, int b)
{
if(a<b) return a;
return b;
}
void update(int nod, int st,int dr, int poz, int val)
{
if(st==dr)
{
v[nod]=val;
return;
}
int fs=nod*2,fd=nod*2+1,m=(st+dr)/2;
if(poz<=m)
	update(fs,st,m,poz,val);
else
	update(fd,m+1,dr,poz,val);
	v[nod]=min(v[fs],v[fd]);
}

void sterge(int nod, int st,int dr, int val)
{
if(st==dr)
{
	v[nod]=inf;
	return;
}
int fs=nod*2,fd=nod*2+1,m=(st+dr)/2;
if(v[fs]==val) sterge(fs,st,m,val);
else
	sterge(fd,m+1,dr,val);
v[nod]=min(v[fs],v[fd]);

}
int main()
{
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
scanf("%d",&N);
for(i=1;i<=N;i++)
{
scanf("%d",&x);
update(1,1,N,i,x);
}
return 0;
}