Cod sursa(job #115907)
Utilizator | Data | 17 decembrie 2007 13:26:55 | |
---|---|---|---|
Problema | Multimi2 | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 1.82 kb |
#include <stdio.h>
int a[1000000],b[1000000],n,x,y,s;
int main()
{
freopen("multimi2.in","r",stdin);
freopen("multimi2.out","w",stdout);
scanf("%d",&n);
if (n%4==0)
{
s=0;
for (int i=1; i<=n; ++i)
{
if (i%4==0 || i%4==1)
{
++x;
a[x]=i;
}
else
{
++y;
b[y]=i;
}
}
}
if (n%4==1)
{
s=1;
++x;
a[x]=1;
for (int i=2; i<=n; ++i)
{
if (i%4==0 || i%4==3)
{
++x;
a[x]=i;
}
else
{
++y;
b[y]=i;
}
}
}
if (n%4==2)
{
s=1;
++x;
a[x]=1;
++y;
b[y]=2;
for (int i=3; i<=n; ++i)
{
if (i%4==2 || i%4==3)
{
++x;
a[x]=i;
}
else
{
++y;
b[y]=i;
}
}
}
if (n%4==3)
{
s=0;
++x;
a[x]=1;
++x;
a[x]=2;
++y;
b[y]=3;
for (int i=4; i<=n; ++i)
{
if (i%4==0 || i%4==3)
{
++x;
a[x]=i;
}
else
{
++y;
b[y]=i;
}
}
}
printf("%d\n",s);
printf("%d\n",x);
for (int i=1; i<x; ++i) printf("%d ",a[i]);
printf("%d\n",a[x]);
printf("%d\n",y);
for (int i=1; i<y; ++i) printf("%d ",b[i]);
printf("%d\n",b[y]);
return 0;
}