Pagini recente » Monitorul de evaluare | Monitorul de evaluare | Monitorul de evaluare | Istoria paginii utilizator/edge1124 | Cod sursa (job #245714)
Cod sursa(job #245714)
#include<stdio.h>
#define N 1000000
int vf[N],nr,n;
long long lim;
int main()
{
freopen("multimi2.in","r",stdin);
freopen("multimi2.out","w",stdout);
scanf("%d",&n);
lim=((long long)n*(long long)(n+1))>>1;
long long copy=lim>>1;
int i,k=n;
while(copy)
{
if(copy>k)
{
vf[k]=1;
copy-=k;
}
else
{
vf[copy]=1;
copy=0;
}
--k;
++nr;
}
k=0;
copy=0;
printf("%lld\n",lim%2);
printf("%d\n",n-nr);
for(i=1;i<=n;++i)
if(!vf[i])
printf("%d ",i);
else
if(!k)
{
k=1;
copy=i;
}
printf("\n%d\n",nr);
for(i=copy;i<=n&&nr;++i)
if(vf[i])
{
printf("%d ",i);
--nr;
}
return 0;
}