Pagini recente » Cod sursa (job #2373475) | Cod sursa (job #1641407) | Cod sursa (job #751304) | Cod sursa (job #3278559) | Cod sursa (job #590309)
Cod sursa(job #590309)
#include <iostream>
#include <vector>
using namespace std;
#define PB push_back
#define LL long long
vector <LL> sol;
inline LL abss (LL a)
{
if (a < 0) return - a;
return a;
}
int main()
{
freopen ("multimi2.in", "r", stdin);
freopen ("multimi2.out", "w", stdout);
LL N;
scanf ("%lld", &N);
LL S = N * (N + 1) / 2;
LL S1 = S / 2;
LL S2 = S - S1;
LL NN = N;
printf ("%lld\n", abss ( S1 - S2 ) );
for ( ; S1 >= N ; S1 -= N, -- N) sol . PB (N);
if (S1) sol.PB (S1);
printf ("%d\n", sol.size());
for (unsigned LL i = 0; i < sol.size(); ++ i) printf ("%lld ", sol[i]);
printf ("\n%d\n", NN - sol.size());
for (LL i = 1; i < S1; ++ i) printf ("%lld ", i);
for (LL i = S1 + 1; i <= N; ++ i) printf ("%lld ", i);
return 0;
}