Cod sursa(job #1776924)

Utilizator giotoPopescu Ioan gioto Data 11 octombrie 2016 21:54:09
Problema Multimi2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.33 kb
#include <cstdio>
using namespace std;

int n, a[1000002], b[1000002];
int main()
{
    freopen("multimi2.in", "r", stdin);
    freopen("multimi2.out", "w", stdout);
    scanf("%d", &n);
    if(n % 2 == 0){
        int NR = 0; bool ok = 0;
        for(int i = 1; i <= n; i = i + 2){
            if(ok == 0)
                a[++NR] = i, b[NR] = i + 1;
            else
                a[++NR] = i + 1, b[NR] = i;
            ok = 1 - ok;
        }
        if(n % 4 == 0)
            printf("0\n");
        else
            printf("1\n");
        printf("%d\n", NR);
        for(int i = 1; i <= NR; ++i)
            printf("%d ", a[i]);
        printf("\n%d\n", NR);
        for(int i = 1; i <= NR; ++i)
            printf("%d ", b[i]);
    }
    else{
        int NR = 0; bool ok = 0;
        for(int i = 2; i <= n; i = i + 2){
            if(ok == 0)
                a[++NR] = i, b[NR] = i + 1;
            else
                a[++NR] = i + 1, b[NR] = i;
            ok = 1 - ok;
        }
        if(n % 4 == 1)
            printf("1\n");
        else
            printf("0\n");
        printf("%d\n%d ", NR + 1, 1);
        for(int i = 1; i <= NR; ++i)
            printf("%d ", a[i]);
        printf("\n%d\n", NR);
        for(int i = 1; i <= NR; ++i)
            printf("%d ", b[i]);
    }
    return 0;
}