Pagini recente » Cod sursa (job #3193971) | Cod sursa (job #2945688) | Cod sursa (job #1437049) | Cod sursa (job #847168) | Cod sursa (job #3222550)
#include <fstream>
#include <iostream>
#include <cmath>
using namespace std;
ifstream fin("multimi2.in");
ofstream fout("multimi2.out");
int v[1000002];
long long s[1000002];
int main() {
int n, i, j, nrcf1, nrcf2;
long long dif, si, sj;
fin >> n;
for (i = 1; i <= n; i++) {
v[i] = i;
}
s[0] = v[0];
for (i = 1; i <= n; i++) {
s[i] = s[i - 1] + v[i];
}
i = 1;
dif = 999999999;
nrcf1 = nrcf2 = -1;
while (i < n) {
si = s[i];
sj = s[n] - s[i];
if (abs(si - sj) < dif) {
dif = abs(si - sj);
nrcf1 = i;
nrcf2 = n - i;
}
if (abs(sj - si) < dif) {
dif = abs(sj - si);
nrcf1 = n - i;
nrcf2 = i;
}
i++;
}
fout << dif << endl;
fout << nrcf1 << endl;
for (i = 1; i <= nrcf1; i++) {
fout << v[i] << ' ';
}
fout << endl;
fout << nrcf2 << endl;
for (i = nrcf1 + 1; i <= n; i++) {
fout << v[i] << ' ';
}
fin.close();
fout.close();
return 0;
}