Pagini recente » Cod sursa (job #1991940) | Cercetași | Monitorul de evaluare | Cod sursa (job #937564) | Cod sursa (job #205529)
Cod sursa(job #205529)
#include<stdio.h>
int main(){
long long a[3][500005];
int n,i,r,q;
freopen("multimi2.in","r",stdin);
freopen("multimi2.out","w",stdout);
scanf("%d",&n);
r=1;
q=1;
if(n%4==0){
printf("0\n");
for(i=1;i<=n;i+=4){
a[1][q++]=i;
a[2][r++]=i+1;
a[2][r++]=i+2;
a[1][q++]=i+3;
}
printf("%d\n",q-1);
for(i=1;i<q;++i)
printf("%lld ",a[1][i]);
printf("\n");
printf("%d\n",r-1);
for(i=1;i<r;++i)
printf("%lld ",a[2][i]);
}
else
if(n%4==1){
printf("1\n");
a[1][q++]=1;
for(i=2;i<=n;i+=4){
a[1][q++]=i;
a[2][r++]=i+1;
a[2][r++]=i+2;
a[1][q++]=i+3;
}
printf("%d\n",q-1);
for(i=1;i<q;++i)
printf("%lld ",a[1][i]);
printf("\n");
printf("%d\n",r-1);
for(i=1;i<r;++i)
printf("%lld ",a[2][i]);
}
else
if(n%4==2){
printf("1\n");
a[1][q++]=1;
a[2][r++]=2;
for(i=3;i<=n;i+=4){
a[1][q++]=i;
a[2][r++]=i+1;
a[2][r++]=i+2;
a[1][q++]=i+3;
}
printf("%d\n",q-1);
for(i=1;i<q;++i)
printf("%lld ",a[1][i]);
printf("\n");
printf("%d\n",r-1);
for(i=1;i<r;++i)
printf("%lld ",a[2][i]);
}
else
if(n%4==3){
printf("0\n");
a[1][q++]=1;
a[1][q++]=2;
a[2][r++]=3;
for(i=4;i<=n;i+=4){
a[1][q++]=i;
a[2][r++]=i+1;
a[2][r++]=i+2;
a[1][q++]=i+3;
}
printf("%d\n",q-1);
for(i=1;i<q;++i)
printf("%lld ",a[1][i]);
printf("\n");
printf("%d\n",r-1);
for(i=1;i<r;++i)
printf("%lld ",a[2][i]);
}
fclose(stdin);
fclose(stdout);
return 0;
}