Pagini recente » Cod sursa (job #196930) | Cod sursa (job #2340234) | Cod sursa (job #69332) | Cod sursa (job #1624001) | Cod sursa (job #2768708)
#include <fstream>
#include <iostream>
using namespace std;
int n;
void read() {
ifstream f("multimi2.in");
f >> n;
f.close();
}
bool viz[1000001];
bool dif;
int nr1, nr2;
int a[1000001];
int b[1000001];
void solve() {
int i, j;
long long sum = 1LL * n * (n + 1) / 2;
if (sum % 2 == 0) dif = 0;
else dif = 1;
sum /= 2;
for (i = n; i >= 1; i--)
if (sum - i >= 0) {
sum -= i;
viz[i] = 1;
a[++nr1] = i;
}
for (i = 1, j = nr1; i <= j; i++, j--)
swap(a[i], a[j]);
for (i = 1; i <= n; i++)
if (!viz[i])
b[++nr2] = i;
}
void output() {
int i;
ofstream g("multimi2.out");
g << dif << '\n';
g << nr1 << '\n';
for (i = 1; i <= nr1; i++)
g << a[i] << ' ';
g << '\n' << nr2 << '\n';
for (i = 1; i <= nr2; i++)
g << b[i] << ' ';
g.close();
}
int main() {
read();
solve();
output();
return 0;
}