Cod sursa(job #1374413)

Utilizator gedicaAlpaca Gedit gedica Data 5 martie 2015 09:06:59
Problema Multimi2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <fstream>
#include <vector>

using namespace std;

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

vector <int> sol1, sol2;

int abs( int a )
{
    if( a<0 ) return -a;
    return a;
}

typedef long long i64;

int main(  )
{
    int N;
    in >> N;
    long long S= ( (i64) N * ( N+1 ) ) / 2;

    S/= 2;

    long long sum1= 0, sum2= 0;

    for( int i= N; i>=1; --i )
    {
        if( i <= S )
        {
            S-= i;
            sum1+= i;
            sol1.push_back( i );
        }
        else
        {
            sum2+= i;
            sol2.push_back( i );
        }
    }

    out << abs( sum2 - sum1 ) << '\n';

    out << (int)sol1.size() << '\n';

    for( int i= 0; i < (int)sol1.size(); ++i )
    {
        out << sol1[i] << ' ';
    }

    out << '\n';

    out << (int)sol2.size() << '\n';

    for( int i= 0; i < (int)sol2.size(); ++i )
    {
        out << sol2[i] << ' ';
    }

    return 0;
}