Pagini recente » Cod sursa (job #2983113) | Cod sursa (job #925820) | Cod sursa (job #2148291) | Cod sursa (job #595052) | Cod sursa (job #109999)
Cod sursa(job #109999)
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
long long middle, aux, i, n, o, sum;
long v[1000010], fo[1000100];
int cmp (const void * a, const void * b) {
return ( *(int*)a - *(int*)b );
}
int main() {
freopen("multimi2.in", "r", stdin);
freopen("multimi2.out", "w", stdout);
scanf("%lld", &n);
/*max_fin = 0;
for (i = 1; i <= n; ++i) {
for (j = 1; j <= max_fin; ++j) {
if (v[j] == 1) {
v[j + i] = 1;
if (j + i > max_fin) {
max_fin = j + i;
}
}
}
v[i] = 1;f
if (i > max_fin) {
max_fin = i;
}
}*/
middle = (long long)n * (n + 1) / 4;
sum = (long long)n * (n + 1) / 2;
printf("%lld\n", (sum - middle) - middle);
aux = 0;
for (i = n; i >= 1; --i) {
if (aux + i <= middle) {
v[++o] = i;
aux = aux + i;
fo[i] = 1;
}
if (aux == middle) {
break;
}
}
printf("%lld\n", o);
for (i = 1; i <= o; ++i) {
printf("%ld ", v[i]);
}
printf("\n");
printf("%lld\n", n - o);
for (i = 1; i <= n; ++i) {
if (fo[i] == 0) {
printf("%lld ", i);
}
}
printf("\n");
return 0;
}