Cod sursa(job #782372)

Utilizator repp4raduRadu-Andrei Szasz repp4radu Data 27 august 2012 00:51:01
Problema Multimi2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.4 kb
#include <fstream>

using namespace std;

int n;

int main()
{
    ifstream in("multimi2.in"); in>>n; in.close();
    ofstream out("multimi2.out");
    int val = n % 4, kMax = n / 4;
    if(val == 0)
    {
        out<<"0\n"<<n / 2<<"\n";
        for(int i = 0; i < kMax; i++)
            out<<i * kMax + 1<<" "<<i * kMax + 4<<" ";
        out<<"\n"<<n / 2<<"\n";
        for(int i = 0; i < kMax; i++)
            out<<i * kMax + 2<<" "<<i * kMax + 3<<" ";
    }
    else if(val == 1)
    {
        out<<"1\n"<<n / 2 + 1<<"\n"<<"1 ";
        for(int i = 0; i < kMax; i++)
            out<<i * kMax + 2<<" "<<i * kMax + 5<<" ";
        out<<"\n"<<n / 2<<"\n";
        for(int i = 0; i < kMax; i++)
            out<<i * kMax + 3<<" "<<i * kMax + 4<<" ";
    }
    else if(val == 2)
    {
        out<<"1\n"<<n / 2<<"\n";
        for(int i = 0; i < kMax; i++)
            out<<i * kMax + 1<<" "<<i * kMax + 4<<" ";
        out<<n<<"\n"<<n / 2<<"\n";
        for(int i = 0; i < kMax; i++)
            out<<i * kMax + 2<<" "<<i * kMax + 3<<" ";
        out<<n - 1;
    }
    else
    {
        out<<"0\n"<<n / 2 + 1<<"\n1 2 ";
        for(int i = 0; i < kMax; i++)
            out<<i * kMax + 4<<" "<<i * kMax + 7<<" ";
        out<<"\n"<<n / 2<<"\n"<<"3 ";
        for(int i = 0; i < kMax; i++)
            out<<i * kMax + 5<<" "<<i * kMax + 6<<" ";
    }
    out.close();
    return 0;
}