Cod sursa(job #651991)

Utilizator dutzulBodnariuc Dan Alexandru dutzul Data 22 decembrie 2011 17:47:37
Problema Multimi2 Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.04 kb
#include <fstream>
using namespace std;
ifstream f("multimi2.in");
ofstream g("multimi2.out");
int n,m1[1000007],m2[1000007],i,st,dr,n1,n2,s1,s2;
int main()
{
  f>>n;
  st=0;
  dr=n+1;

  while (st+1<dr-1)
    {
      i++;
      st++;
      dr--;
      if (i%2==1)
        {
          n1+=2;
          m1[n1]=st;
          m1[n1-1]=dr;
        }
      else
        {
          n2+=2;
          m2[n2]=st;
          m2[n2-1]=dr;
        }
    }
  if (n1-n2==2)
    {
      n2++;
      m2[n2]=m1[n1];
      m1[n1]=0;
      n1--;
    }
  if (n2-n1==2)
    {
      n1++;
      m1[n1]=m2[n2];
      m2[n2]=0;
      n2--;
    }

  if (st+1==dr-1)
    {
      if (i%2==0) m1[n1+1]=st+1,n1++;
      else m2[n2+1]=st+1,n2++;
    }

  for(i=1; i<=n1; i++)
    s1+=m1[i];
  for(i=1; i<=n2; i++)
    s2+=m2[i];
  g<<max(s2-s1,s1-s2)<<'\n';

  g<<n1<<'\n';
  for(i=1; i<=n1; i++)
    g<<m1[i]<<" ";


  g<<'\n'<<n2<<'\n';
  for(i=1; i<=n2; i++)
    g<<m2[i]<<" ";

  f.close();
  g.close();
  return 0;
}