Cod sursa(job #109701)

Utilizator SmarandaMaria Pandele Smaranda Data 25 noiembrie 2007 12:28:56
Problema Multimi2 Scor 40
Compilator cpp Status done
Runda preONI 2008, Runda 1, Clasele 5-8 Marime 0.71 kb
#include<stdio.h>
long x[1000001];
int main()
{
long n,s1=0,num1=0,s=0,dif,s2,o,poz,i,max;
int ok;

freopen("multimi2.in","r",stdin);
freopen("multimi2.out","w",stdout);

scanf("%ld",&n);
if(n==2)
   printf("1\n1\n2\n1\n1");
else
{
s=n*(n+1);
s=s/2;
s1=s/2;
s2=s-s1;
ok=1;
if(s1>s2)
   dif=s1-s2;
else
   dif=s2-s1;
for(i=n;i>=1 && ok;i--)
	  {
	    s1=s1-i;
	    x[++num1]=i;
	    o=i;
	    if(s1<i && s1)
	       {
		 ok=0;
		 x[++num1]=s1;
		 poz=s1;
	       }
	    if(s1==0)
	       ok=0;
	  }

printf("%ld\n%ld\n",dif,num1);
for(i=1;i<=num1;i++)
    printf("%ld ",x[i]);
printf("\n%ld\n",n-num1);
for(i=1;i<o;i++)
    if(i!=poz)
       printf("%ld ",i);
}
return 0;
}