Cod sursa(job #245714)

Utilizator SheepBOYFelix Liviu SheepBOY Data 18 ianuarie 2009 18:23:53
Problema Multimi2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<stdio.h>
#define N 1000000
int vf[N],nr,n;
long long lim; 
int main()
{
	freopen("multimi2.in","r",stdin);
	freopen("multimi2.out","w",stdout);
	scanf("%d",&n);
	lim=((long long)n*(long long)(n+1))>>1;
	long long copy=lim>>1;
	int i,k=n;
		while(copy)
		{
			if(copy>k)
			{
			vf[k]=1;
			copy-=k;
			}
			else
			{
				vf[copy]=1;
				copy=0;
			}
			--k;
			++nr;
		}
		k=0;
		copy=0;
	printf("%lld\n",lim%2);
	printf("%d\n",n-nr);
	for(i=1;i<=n;++i)
		if(!vf[i])
			printf("%d ",i);
		else
			if(!k)
			{
			k=1;
			copy=i;
			}
	printf("\n%d\n",nr);
	for(i=copy;i<=n&&nr;++i)
		if(vf[i])
		{
			printf("%d ",i);
			--nr;
		}
	return 0;
}