Cod sursa(job #303836)

Utilizator LuffyBanu Lavinia Luffy Data 10 aprilie 2009 13:53:22
Problema Multimi2 Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#include<stdio.h>
#define dim 500002
int a[dim],b[dim];
using namespace std;
int main()
{int i,m,s1,n,s2,ok,j,k;
FILE *f=fopen("multimi2.in","r"), *g=fopen("multimi2.out","w");

if(n%2==0)
{i=0; m=2; s1=0; ok=0;
fscanf(f,"%d",&n);
 while(m<n)
 {i++; a[i]=m; s1=s1+m;
  if(ok==0) {m=m+1;ok=1;}
  else {m=m+3;ok=0;}
 }

 j=0; m=1; ok=0; s2=0;
 while(m<=n)
 {j++; b[j]=m; s2=s2+m;
  if(ok==0) {m=m+3;ok=1;}
  else {m=m+1;ok=0;}
 }
}

if(n%2==1)
{i=0; m=3; s1=0; ok=0;
fscanf(f,"%d",&n);
 while(m<=n)
 {i++; a[i]=m; s1=s1+m;
  if(ok==0) {m=m+1;ok=1;}
  else {m=m+3;ok=0;}
 }

 j=0; m=1; ok=0; s2=0;
 while(m<n)
 {j++; b[j]=m; s2=s2+m;
  if(ok==0) {m=m+1;ok=1;}
  else {m=m+3;ok=0;}
 }
}	


 if(s1-s2<0) fprintf(g,"%d\n",-(s1-s2));
 else fprintf(g,"%d\n",s1-s2);
 
 fprintf(g,"%d\n",i);
 for(k=1;k<=i;k++)
  fprintf(g,"%d ",a[k]);
fprintf(g,"\n");
 
 fprintf(g,"%d\n",j);
 for(k=1;k<=j;k++)
  fprintf(g,"%d ",b[k]);
fprintf(g,"\n");

fclose(f);
fclose(g);
return 0;
}