Cod sursa(job #3137296)

Utilizator AlexSerban21Serban Alexandru AlexSerban21 Data 12 iunie 2023 10:58:38
Problema Multimi2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.79 kb
#include <fstream>
using namespace std;
ifstream fin ("multimi2.in");
ofstream fout ("multimi2.out");
int n,i,j,g;
int main()
{
    fin>>n;
    if (n%4==0)
    {
        i=1;
        j=n;
        fout<<"0\n";
        fout<<n/2<<"\n";
        for (g=1; g<=n/4; g++)
        {
            fout<<i<<" "<<j<<" ";
            i++;
            j--;
        }
        fout<<"\n"<<n/2<<"\n";
        for (g=1; g<=n/4; g++)
        {
            fout<<i<<" "<<j<<" ";
            i++;
            j--;
        }
        return 0;
    }
    if (n%4==2)
    {
        fout<<"1\n";
        fout<<n/2<<"\n1 ";
        i=3;
        j=n;
        for (g=1; g<=(n-2)/4; g++)
        {
            fout<<i<<" "<<j<<" ";
            i++;
            j--;
        }
        fout<<"\n"<<n/2<<"\n2 ";
        for (g=1; g<=(n-2)/4; g++)
        {
            fout<<i<<" "<<j<<" ";
            i++;
            j--;
        }
        return 0;
    }
    if (n%4==1)
    {
        i=2;
        j=n;
        fout<<"1\n";
        fout<<n/2+1<<"\n1 ";
        for (g=1; g<=(n-1)/4; g++)
        {
            fout<<i<<" "<<j<<" ";
            i++;
            j--;
        }
        fout<<"\n"<<n/2<<"\n";
        for (g=1; g<=(n-1)/4; g++)
        {
            fout<<i<<" "<<j<<" ";
            i++;
            j--;
        }
        return 0;
    }
    if (n%4==3)
    {
        i=4;
        j=n;
        fout<<"0\n";
        fout<<n/2+1<<"\n1 2 ";
        for (g=1; g<=(n-3)/4; g++)
        {
            fout<<i<<" "<<j<<" ";
            i++;
            j--;
        }
        fout<<"\n"<<n/2<<"\n3 ";
        for (g=1; g<=(n-3)/4; g++)
        {
            fout<<i<<" "<<j<<" ";
            i++;
            j--;
        }
        return 0;
    }
    return 0;
}