Pagini recente » Borderou de evaluare (job #3150796) | Diferente pentru home intre reviziile 854 si 853 | Borderou de evaluare (job #1987798) | Rezultatele filtrării | Cod sursa (job #109701)
Cod sursa(job #109701)
#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;
}