Cod sursa(job #1235533)

Utilizator felixiPuscasu Felix felixi Data 29 septembrie 2014 22:19:59
Problema Multimi2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.22 kb
#include <fstream>

using namespace std;

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

const int NMAX = 1000000;

int N, A, B, a[10], b[10], a_poz= 0, b_poz= 0;

int main() {
    in >> N;
    if( (N%4 == 1) || (N%4 == 2) )  out << '1';
    else out << '0';
    out << '\n';
    A= B= (N-(N%4))/2;
    if( N%4 == 1 ) {
        a[ ++a_poz ]= 1;
        ++A;
    }
    else if( N%4 == 2 ) {
        a[ ++a_poz ]= 1;
        b[ ++b_poz ]= 2;
        A= B= A+1;
    }
    else if( N%4 == 3 ) {
        a[++a_poz]= 1;
        a[ ++a_poz ]= 2;
        b[ ++b_poz ]= 3;
        A+= 2;
        ++B;
    }
    else {
        a[ ++a_poz ]= 1;
        a[ ++a_poz ]= 4;
        b[ ++b_poz ]= 2;
        b[ ++b_poz ]= 3;
    }
    int PLUS= (N%4);
    if( PLUS == 0 ) PLUS= 4;
    out << A << '\n';
    for( int i= 1;  i<=a_poz;  ++i )  out << a[i] << ' ';
    for( int i= 1;  i<=N-PLUS;  ++i ) {
        if( i%4 == 2 || i%4 == 3 )  out << i+PLUS << ' ';
    }
    out << '\n';
    out << B << '\n';
    for( int i= 1;  i<=b_poz;  ++i )  out << b[i] << ' ';
    for( int i= 1;  i<=N-PLUS;  ++i ) {
        if( i%4 == 0 || i%4 == 1 )  out << i+PLUS << ' ';
    }
    out << '\n';
    return 0;
}