Cod sursa(job #319686)
Utilizator | Data | 1 iunie 2009 19:42:01 | |
---|---|---|---|
Problema | Multimi2 | Scor | 40 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.6 kb |
#include <stdio.h>
FILE *f,*s;
long int n,i,sum,sum2,l1,l2,v1[400005],v2[500005];
int main()
{
f=fopen("multimi2.in","r");
s=fopen("multimi2.out","w");
fscanf(f,"%ld",&n);
sum=(n*(n+1))/2;
l1=0;
l2=0;
for(i=n;i>=1;i--)
{
if(sum2+i<=sum/2)
{
v1[l1]=i;
l1++;
sum2+=i;
}
else
{
v2[l2]=i;
l2++;
}
}
fprintf(s,"%ld\n",sum/2+sum%2-sum2);
fprintf(s,"%ld\n",l1);
for(i=0;i<l1;i++)
fprintf(s,"%ld ",v1[i]);
fprintf(s,"\n%ld\n",l2);
for(i=0;i<l2;i++)
fprintf(s,"%ld ",v2[i]);
return 0;
}