Cod sursa(job #1546544)

Utilizator justsomedudePalade Thomas-Emanuel justsomedude Data 8 decembrie 2015 10:42:50
Problema Multimi2 Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 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 vect[500009], vexx[500009];

int main ()
{
  int i, j;

  fin >> n;

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

  k=0;

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

  q=0;

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

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

  fout << k << "\n";
  for (i=1; i<=k; i++)
     fout << vect[i] << " ";
  fout << "\n";
  fout << q << "\n";
  for (i=1; i<=q; i++)
     fout << vexx[i] << " ";
  fout << "\n";

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