Cod sursa(job #229767)

Utilizator cotofanaCotofana Cristian cotofana Data 11 decembrie 2008 14:50:23
Problema Multimi2 Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <stdio.h>
#include <math.h>
#define dim 100

long n, s1, s2, ul1, ul2;

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

	if (n%2==0) s1=n/2*(n+1);
	else s1=(n+1)/2*n;
	s2=s1/2;

	ul1=(sqrt(1+8*s2)-1)/2;
	while (ul1*(ul1+1)<=s2) ul1++;
	ul1--;
	
	if (ul1%2==0) ul2=s2-ul1/2*(ul1+1);
	else ul2=s2-(ul1+1)/2*ul1;

	printf("%ld\n", s1-2*s2);

	printf("%ld\n", ul1+1);
	for (i=1; i<=ul1; i++) printf("%ld ", i);
	printf("%ld\n", ul2);
	
	printf("%ld\n", n-ul1-1);
	for (i=ul1+1; i<=n; i++)
		if (i!=ul2) printf("%ld ", i);

	return 0;
}