Cod sursa(job #583774)

Utilizator maritimCristian Lambru maritim Data 22 aprilie 2011 16:59:36
Problema Multimi2 Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<stdio.h>

bool X[1000100];
long int N;
long long a = 0;
int nr = 0;

int main()
{
	FILE *f = fopen("multimi2.in","r");
	FILE *g = fopen("multimi2.out","w");
	
	fscanf(f,"%d",&N);
	a = N*(N+1)/2;
	if(a%2)
		fprintf(g,"1\n");
	else
		fprintf(g,"0\n");
	if(!(a%4))
	{
		X[N] = true;
		a /= 2;
		a -= N;
		nr = 1;
	}
	else
		a /= 2;
	int j;
	for(j=1;a>=N;j++)
	{
		X[j] = true;
		a -= j;
		nr ++;
	}
	if(!X[a])
	{
		X[a] = true;
		nr ++;
	}
	fprintf(g,"%d\n",nr);
	for(int i=1;i<=N;i++)
		if(X[i])
			fprintf(g,"%d ",i);
	fprintf(g,"\n%d\n",N-nr);
	for(int i=1;i<=N;i++)
		if(!X[i])
			fprintf(g,"%d ",i);
	
	fclose(g);
	fclose(f);
}