Pagini recente » Monitorul de evaluare | Cod sursa (job #1336068) | Istoria paginii runda/simulare_10 | Cod sursa (job #2683984) | Cod sursa (job #161898)
Cod sursa(job #161898)
#include<stdio.h>
int main () {
freopen("multimi2.in","r",stdin);
freopen("multimi2.out","w",stdout);
int v[1000000],i,n,nr1=0,nr2=0;
scanf("%d",&n);
if(!(n%4)){
printf("0\n");
for(i=1;i<=n;++i)
if(!(i%4)||!((i-1)%4)){
++nr1;
v[i]=1;
}
else{
++nr2;
v[i]=2;
}
}
if(n%4==1){
printf("1\n");
v[1]=1;
nr1=1;
for(i=2;i<=n;++i)
if(!((i-2)%4)||!((i-1)%4)){
++nr1;
v[i]=1;
}
else{
++nr2;
v[i]=2;
}
}
if(n%4==2){
printf("1\n");
v[1]=1;
v[2]=2;
nr1=nr2=1;
for(i=3;i<=n;++i)
if(!((i-2)%4)||!((i-3)%4)){
++nr1;
v[i]=1;
}
else{
++nr2;
v[i]=2;
}
}
if(n%4==3){
printf("0\n");
v[1]=1;
v[2]=1;
v[3]=2;
nr1=2;
nr2=1;
for(i=4;i<=n;++i)
if(!(i%4)||!((i-3)%4)){
++nr1;
v[i]=1;
}
else{
++nr2;
v[i]=2;
}
}
printf("%d\n",nr1);
for(i=1;i<=n;++i)
if(v[i]==1)
printf("%d ",i);
printf("\n");
printf("%d\n",nr2);
for(i=1;i<=n;++i)
if(v[i]==2)
printf("%d ",i);
printf("\n");
return 0;
}