Cod sursa(job #149916)

Utilizator gabyboss29Gabi Munteanu gabyboss29 Data 6 martie 2008 12:02:18
Problema Stergeri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include<iostream.h>
#include<fstream.h>

struct nod {
unsigned long urm;
unsigned long info;
};
nod x[2000000];
int k,a,b,p,prim,z,y,w;
unsigned long n,m,i;
ifstream f("stergeri.in");
ofstream g("stergeri.out");
int main()
{
	f>>n;
	f>>m;
	f>>k;
	for(i=1;i<=n;i++)
	{
		x[i].info=n-i+1;
		x[i].urm=i-1;
	}
	x[i].urm=n;
	prim=x[i].urm;
	p=prim;
	f>>z;
	f>>y;
	if(z==1)
		prim=x[n+1-y].urm;
	else
		x[n+1-z].urm=x[n+1-y].urm;
	for(i=2;i<=m;i++)
	{
		f>>z;w=z;
		f>>y;
		p=prim;
		while(z)
		{
			a=x[p].info;
			z--;
			p=x[p].urm;
		}
		p=x[a].urm;
		while(y-w+1)
		{
			b=x[p].info;
			y--;
			p=x[p].urm;
		}
		if(w==1)
			prim=x[n+1-b].urm;
		else
		x[n+2-a].urm=x[n+1-b].urm;

	}
	p=prim;
        z=0;
	while(p)
	{ z++;
	if(k==z)
	g<<x[p].info;
	p=x[p].urm;
        }
	f.close();
	g.close();
		
}