Cod sursa(job #755423)

Utilizator vendettaSalajan Razvan vendetta Data 5 iunie 2012 18:58:24
Problema Multimi2 Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.28 kb
#include <iostream>
#include <fstream>

using namespace std;

#define nmax 1000005

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

int n, a[nmax], b[nmax];

void citeste(){

    f >> n;

}

void rezolva(){

    int rez = 0;

    if (n % 2 == 0){
        rez = 1;
        for(int i=1; i<=n;){
            a[++a[0]] = i;
            if (i%2 == 0) i++;
            else i+=3;
            if (i > n) break;
        }
        for(int i=2; i<=n;){
            b[++b[0]] = i;
            if (i%2 == 0) i++;
            else i+=3;
            if (i > n) break;
        }
    }
    else if (n%2 == 1){
        rez = 0;
        a[++a[0]] = 1;
        for(int i=2; i<=n;){
            a[++a[0]] = i;
            if (i%2 == 1) i++;
            else i+=3;
            if (i > n) break;
        }
        for(int i=3; i<=n;){
            b[++b[0]] = i;
            if (i%2 == 1) i++;
            else i+=3;
            if (i > n) break;
        }
    }
    g << rez << "\n";
    g << a[0] << "\n";
    for(int i=1; i<=a[0]; i++) g << a[i] << " ";
    g << "\n";
    g << b[0] << "\n";
    for(int i=1; i<=b[0]; i++) g << b[i] << " ";
    g << "\n";
}

int main(){

    citeste();
    rezolva();

    f.close();
    g.close();

    return 0;

}