Cod sursa(job #229776)

Utilizator cotofanaCotofana Cristian cotofana Data 11 decembrie 2008 16:21:45
Problema Multimi2 Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <stdio.h>

int n;

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

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

	return 0;
}