Cod sursa(job #332469)

Utilizator c_e_manuEmanuel Cinca c_e_manu Data 17 iulie 2009 23:40:31
Problema Multimi2 Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include<fstream>
#define MaxN 1000005
using namespace std;

ifstream fin("multimi2.in");
ofstream fout("multimi2.out");

int M1[MaxN],M2[MaxN],i,j,n,diff,n1,n2;

int main()
{	fin>>n;
	if(n%4==0)
	{	for(i=1;i<=n;i++)
			if(i%4==0||i%4==3)	M1[++n1]=i;
			else	M2[++n2]=i;
		diff=0;
	}else
	if(n%4==1)
	{	n1=1;M1[n1]=1;
		for(i=2;i<=n;i++)
			if(i%4==0||i%4==3)	M1[++n1]=i;
			else	M2[++n2]=i;
		diff=1;
	}else
	if(n%4==2)
	{	n1=n2=1;M1[n1]=1;M2[n1]=2;
		for(i=3;i<=n;i++)
			if(i%4==0||i%4==3)	M1[++n1]=i;
			else	M2[++n2]=i;
		diff=1;
	}else
	if(n%4==3)
	{	n1=2;M1[1]=1;M1[2]=2;M2[1]=3;n2=1;
		for(i=4;i<=n;i++)
			if(i%4==0||i%4==3)	M1[++n1]=i;
			else	M2[++n2]=i;
		diff=0;
	}
	fout<<diff<<'\n';
	fout<<n1<<'\n';
	for(i=1;i<=n1;i++) fout<<M1[i]<<' ';
	fout<<'\n'<<n2<<'\n';
	for(i=1;i<=n2;i++) fout<<M2[i]<<' ';
	return 0;
}