Cod sursa(job #280326)

Utilizator victor_bla_blaDumitrescu Victor victor_bla_bla Data 13 martie 2009 12:25:55
Problema Multimi2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.24 kb
#include<fstream.h>
ifstream fin("multimi2.in");
ofstream fout("multimi2.out");
long n,d,c,s,i;
int main()
	{fin>>n;
	 if (n%2) {d=n/2+1;
		      c=d/2; if (d%2)
		      {if (!(c%2)) c++;
		       if (d>2*c) d=d-2*c;
			else d=2*c-d;
		fout<<d<<'\n';
		fout<<n/2<<'\n';
		for (i=0;i<=n/2;i++)
			if (2*i+1!=c) fout<<2*i+1<<' ';
		fout<<'\n';
		fout<<n/2+1<<'\n';
		fout<<c<<' ';
		for (i=1;i<=n/2;i++)
			fout<<2*i<<' ';}
		else
		{fout<<0<<'\n';
		fout<<n/2-1<<'\n';
		for (i=1;i<=n/2;i++)
			if (2*i+1!=c-1) fout<<2*i+1<<' ';
		fout<<'\n';
		fout<<n/2+2<<'\n';
		fout<<1<<' '<<c-1<<' ';
		for (i=1;i<=n/2;i++)
			fout<<2*i<<' ';
                }}

	 else
		{d=n/2;
		 c=d/2; if (!(c%2))
		 {if (d>2*c) d=d-2*c;
			else d=2*c-d;
		 fout<<d<<'\n';
		 fout<<n/2+1<<'\n';
		 fout<<c<<' ';
		 for (i=0;i<n/2;i++)
			fout<<2*i+1<<' ';
		 fout<<'\n'; fout<<n/2-1<<'\n';
		 for (i=1;i<=n/2;i++)
			if (2*i!=c) fout<<2*i<<' ';}
		 else
		 {fout<<0<<'\n';
		  fout<<n/2<<'\n';
		  fout<<c+1<<' ';
		  for (i=1; i<=n/2-1;i++)
			fout<<2*i+1<<' ';
		  fout<<'\n';
		  fout<<n/2<<'\n';
		  fout<<1<<' ';
		  for (i=1;i<=n/2;i++)
                  	if (2*i!=c+1) fout<<2*i<<' ';
		 }}

fout.close();
return 0;}