Pagini recente » Cod sursa (job #1178814) | Cod sursa (job #555619) | Cod sursa (job #3242414) | Cod sursa (job #118414) | Cod sursa (job #114516)
Cod sursa(job #114516)
#include<stdio.h>
int main(){
int x,y,n,i,p,u,m,sum[100001]={0};
freopen("multimi2.in","r",stdin);
freopen("multimi2.out","w",stdout);
scanf("%d",&n);
for (i=n;i>=1;--i)
sum[i]=sum[i+1]+i;
if (n*(n+1)/2%2==0)
printf("0\n");
else
printf("1\n");
x=n*(n+1)/4;
p=0;u=n-1;
while (p<u) {
m=(p+u)/2;
if (x>=sum[m])
u=m;
else
p=m+1;
}
if(sum[p]>x)
++p;
y=x-sum[p];
if(y>0){
printf("%d\n",n-p+2);
printf("%d ",y);
for(i=p;i<n;++i)
printf("%d ",i);
printf("%d\n",n);
printf("%d\n",p-2);
for(i=1;i<p-1;++i)
if(i!=y)
printf("%d ",i);
printf("%d\n",p);
}
else{
printf("%d\n",n-p+1);
//printf("%d ",y);
for(i=p;i<n;++i)
printf("%d ",i);
printf("%d\n",n);
printf("%d\n",p-2);
for(i=1;i<p-1;++i)
printf("%d ",i);
printf("%d\n",p);
}
fclose(stdin);
fclose(stdout);
return 0;
}