Cod sursa(job #3222878)

Utilizator Andreea3425Diaconu Andreea Andreea3425 Data 11 aprilie 2024 19:59:22
Problema Multimi2 Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.21 kb
#include <fstream>

using namespace std;

ifstream cin ("multimi2.in");
ofstream cout ("multimi2.out");

#define N 1000000

int f[N+5];

int main()
{
    int n,i,p,start;
    unsigned long long int s,sum,k;
    cin >> n;
    s=0;
    for (i=1; i<=n; i++)
        s+=i;
    cout << s%2 << '\n';
    k=s/2;
    if (s%2==1)
        k++;
    sum=p=0;
    for (i=n; i>s%2; i--){
        if (sum+i<=k){
            sum+=i;
            f[i]=1;
            p++;
        }else
            break;
    }
    if (sum<=k)
        for (i=s%2+1; i<=n; i++){
            if (sum+i<=k){
                sum+=i;
                f[i]=1;
                p++;
            }else
                break;
        }
    if (s%2==1){
        if (sum>k){
            p++;
            cout << p << '\n';
            cout << 1 << ' ';
            start=2;
        }else{
            cout << p << '\n';
            start=1;
        }
    }else{
        start=1;
        cout << p << '\n';
    }
    for (i=start; i<=n; i++)
        if (f[i]==1)
            cout << i << ' ';
    cout << '\n' << n-p << '\n';
    for (i=start; i<=n; i++)
        if (f[i]==0)
            cout << i << ' ';
    return 0;
}