Cod sursa(job #2874588)

Utilizator Dragono63Stanciu Rares Stefan Dragono63 Data 19 martie 2022 18:00:43
Problema Multimi2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.34 kb
#include <bits/stdc++.h>

using namespace std;

/*******************************/
// INPUT / OUTPUT

ifstream f("multimi2.in");
ofstream g("multimi2.out");
/*******************************/
/// GLOBAL DECLARATIONS

int N;
int diff;
vector <int> v1, v2;
/*******************************/
/// FUNCTIONS

void ReadInput();
void Solution();
void Output();
/*******************************/
///-------------------------------------
inline void ReadInput()
{
    f >> N;
}
///-------------------------------------
inline void Solution()
{
    if (N % 4 == 1 || N % 4 == 2)
    {
        diff = 1;
    }
    else
    {
        diff = 0;
    }

    int cnt = 0;
    for (int i = N ; i >= 1 ; i -= 2)
    {
        if (cnt == 0)
        {
            v2.push_back(i);
            if (i > 1) v1.push_back(i - 1);
        }

        if (cnt == 1)
        {
            v1.push_back(i);
            if (i > 1) v2.push_back(i - 1);
        }

        cnt ++;
        cnt %= 2;
    }
}
///-------------------------------------
inline void Output()
{
    g << diff << "\n";

    g << v1.size() << "\n";
    for (auto num: v1)
    {
        g << num << " ";
    }
    g << "\n";
    g << v2.size() << "\n";
    for (auto num: v2)
    {
        g << num << " ";
    }
}
///-------------------------------------
int main()
{
    ReadInput();
    Solution();
    Output();
    return 0;
}