Cod sursa(job #303677)

Utilizator bugyBogdan Vlad bugy Data 10 aprilie 2009 10:13:14
Problema Multimi2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.54 kb
#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;            
             
}