Cod sursa(job #590308)

Utilizator Catah15Catalin Haidau Catah15 Data 16 mai 2011 18:44:26
Problema Multimi2 Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <iostream>
#include <vector>
#include <cmath>

using namespace std;

#define PB push_back
#define LL long long

vector <int> sol;

int main()
{
	freopen ("multimi2.in", "r", stdin);
	freopen ("multimi2.out", "w", stdout);
	
	int N;
	
	scanf ("%d", &N);
	
	LL S = N * (N + 1) / 2;
	int S1 = S / 2;
	int S2 = S - S1;
	int NN = N;
	
	printf ("%d\n", abs (S1 - S2) );
	
	for ( ; S1 >= N ; S1 -= N, -- N) sol . PB (N);
	
	if (S1) sol.PB (S1);
	
	printf ("%d\n", sol.size());
	
	for (unsigned int i = 0; i < sol.size(); ++ i) printf ("%d ", sol[i]);
	
	
	printf ("\n%d\n", NN - sol.size());
	
	for (int t = 1; t < sol[0]; ++ t) printf ("%d ", t);
	
	for (unsigned int i = 1; i < sol.size(); ++ i)
		for (int t = sol[i - 1] + 1; t < sol[i]; ++ t) printf ("%d ", t);
	
	for (int t = sol[sol.size() - 1]; t <= N; ++ t) printf ("%d ", t);
	
	return 0;
}