Pagini recente » Cod sursa (job #1970767) | Cod sursa (job #1194294) | Cod sursa (job #1523951) | Cod sursa (job #554142) | Cod sursa (job #301957)
Cod sursa(job #301957)
#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
FILE *f=fopen("multimi2.in","r"), *t=fopen("multimi2.out","w");
int i,n,s1,s2,g=2,j,g1=1,g2=1,d=0;
fscanf(f,"%d",&n);
s2=n;s1=1;
for(j=n-1;j>=1;j--)
for(i=2;i<=n;i++)
{if(g!=n)
{ if(g==n-1)
{if((s1+i)-s2)<(s1-(s2+j))
{s1=s1+i;g1++;}
else
{s2=s2+j; g2++;i--;j--;}
}
else
{
if(s1<=s2)
{s1=s1+i;g1++; }
else
if(s1>s2)
{s2=s2+j; g2++;i--;j--;}
}
g=g1+g2;
}
else
if(g==n)
{i=n+1;j=0; break;}
}
if(s1>s2)
d=s1-s2;
else if(s2>s1)
d=s2-s1;
fprintf(t,"%d\n",d);
fprintf(t,"%d\n",g1);
for(i=1;i<=g1;i++)
fprintf(t,"%d ",i);
fprintf(t,"\n");
fprintf(t,"%d\n",g2);
for(i=g1+1;i<=n;i++)
fprintf(t,"%d ",i);
fprintf(t,"\n");
fclose(f);
fclose(t);
return 0;
}