Cod sursa(job #229780)

Utilizator cotofanaCotofana Cristian cotofana Data 11 decembrie 2008 17:01:25
Problema Multimi2 Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#include <stdio.h>
#include <math.h>
#define dim 100

long long n;

int main()
{
	long long i;
	freopen("multimi2.in", "r", stdin);
	freopen("multimi2.out", "w", stdout);
	scanf("%lld\n", &n);

	if (n%4==0)
	{
		printf("0\n%lld\n", n/2);
		for (i=4; i<=n; i+=4) printf("%lld %lld ", i-3, i);
		printf("\n%lld\n", n/2);
		for (i=4; i<=n; i+=4) printf("%lld %lld ", i-2, i-1);
	}
	else if (n%4==1)
	{
		printf("1\n%lld\n1 ", (n-1)/2+1);
		for (i=5; i<=n; i+=4) printf("%lld %lld ", i-3, i);
		printf("\n%lld\n", (n-1)/2);
		for (i=5; i<=n; i+=4) printf("%lld %lld ", i-2, i-1);
	}
	else if (n%4==2)
	{
		printf("1\n%lld\n1 ", n/2);
		for (i=6; i<=n; i+=4) printf("%lld %lld ", i-3, i);
		printf("\n%lld\n2 ", n/2);
		for (i=6; i<=n; i+=4) printf("%lld %lld ", i-2, i-1);
	}
	else
	{
		printf("0\n%lld\n1 2 ", (n-3)/2+2);
		for (i=7; i<=n; i++) printf("%lld %lld ", i-3, i);
		printf("\n%lld\n3 ", (n-3)/2+1);
		for (i=7; i<=n; i++) printf("%lld %lld ", i-2, i-1);
	}

	return 0;
}