Cod sursa(job #1546555)

Utilizator justsomedudePalade Thomas-Emanuel justsomedude Data 8 decembrie 2015 10:49:31
Problema Multimi2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include<iostream>
#include<fstream>

using namespace std;

ifstream fin ("multimi2.in");
ofstream fout ("multimi2.out");

long long int suma, n, k, s1, s2, s, q;
bool viz[1000005];

int main ()
{
  int i, j;

  fin >> n;

  s = 1LL * n*(n+1)/2;
  s1 = s/2; s2 = s - s1;

  k=0;
  suma = 0;

  for (i=n; i>=1; i--)
  {
     if (!viz[i] && suma + i <=s1)
     {
         viz[i] = 1;
         suma += i;
         k++;
     }
  }

  q=0;

  for (i=1; i<=n; i++)
  {
     if (!viz[i])
     {
        q++;
     }
  }

  if (s1 == s2) fout << "0\n";
  else          fout << "1\n";

  fout << k << "\n";
  for (i=1; i<=n; i++)
     if (viz[i] == 1)
      fout << i << " ";
  fout << "\n";
  fout << q << "\n";
  for (i=1; i<=n; i++)
     if (viz[i] == 0)
       fout << i << " ";
  fout << "\n";

  fin.close();
  fout.close();
  return 0;
}