Pagini recente » Cod sursa (job #462748) | Cod sursa (job #2275687) | Cod sursa (job #2716549) | Cod sursa (job #1954587) | Cod sursa (job #979819)
Cod sursa(job #979819)
#include<stdio.h>
#include<stdlib.h>
int v1[500005],v2[500005];
int main()
{
freopen("multimi2.in","r",stdin);
freopen("multimi2.out","w",stdout);
int n,i,s1=0,s2=0;
scanf("%d",&n);
if(n==2)
{
printf("1\n1\n1\n1\n2\n");
return 0;
}
if(n%2==0)
{
int m=n/2;
for(i=2;i<=m;i+=2)
{
s1+=n+1;
v1[++v1[0]]=i;
v1[++v1[0]]=n-i+1;
}
for(i=1;i<=m;i+=2)
{
s2+=n+1;
v2[++v2[0]]=i;
v2[++v2[0]]=n-i+1;
}
if(s1<s2)
{
v1[++v1[0]]=v2[v2[0]];
s1+=v2[v2[0]];
s2-=v2[v2[0]];
--v2[0];
}
}
else
{
s1=s2=3;
v1[0]=2;v2[0]=1;
v1[1]=1;v1[2]=2;v2[1]=3;
for(i=4;i<n;i+=2)
{
if(s1<=s2)
{
v1[++v1[0]]=i+1;
v2[++v2[0]]=i;
s1+=i+1;
s2+=i;
}
else
{
s1+=i;
s2+=i+1;
v1[++v1[0]]=i;
v2[++v2[0]]=i+1;
}
}
}
printf("%d\n",abs(s1-s2));
printf("%d\n",v1[0]);
for(i=1;i<=v1[0];++i)
printf("%d ",v1[i]);
printf("\n%d\n",v2[0]);
for(i=1;i<=v2[0];++i)
printf("%d ",v2[i]);
printf("\n");
return 0;
}