Pagini recente » Cod sursa (job #1646487) | Cod sursa (job #1202451) | Cod sursa (job #1875181) | Istoria paginii runda/simulare-cartita-14b/clasament | Cod sursa (job #605386)
Cod sursa(job #605386)
# include <fstream>
using namespace std;
ifstream f ("multimi2.in");
ofstream g ("multimi2.out");
int n, i, j, v1[1000100], v2[1000100], s1, s2;
int main ()
{
f >> n;
if (n & 1)
{
v1[++v1[0]] = 1; v1[++v1[0]] = 2;
v2[++v2[0]] = 3;
s1 = s2 = 3;
for (i = 5; i <= n; i += 2)
{
if (s1 > s2)
{
v2[++v2[0]] = i;
v1[++v1[0]] = i - 1;
s2 += i;
s1 += i - 1;
}
else
{
v1[++v1[0]] = i;
v2[++v2[0]] = i - 1;
s1 += i;
s2 += i - 1;
}
}
g << (s1 - s2 < 0 ? -(s1 - s2) : s1 - s2) << '\n';
g << v1[0] << '\n';
for (i = 1; i <= v1[0]; ++i)
g << v1[i] << ' ';
g << '\n';
g << v2[0] << '\n';
for (i = 1; i <= v2[0]; ++i)
g << v2[i] << ' ';
}
else
{
if (!(n & 3))
{
for (i = 1; i <= (n >> 1); )
{
v1[++v1[0]] = i; v1[++v1[0]] = n - i + 1;
s1 += n + 1;
++i;
v2[++v2[0]] = i; v2[++v2[0]] = n - i + 1;
s2 += n + 1;
++i;
}
g << (s1 - s2 < 0 ? -(s1 - s2) : s1 - s2) << '\n';
g << v1[0] << '\n';
for (i = 1; i <= v1[0]; ++i)
g << v1[i] << ' ';
g << '\n';
g << v2[0] << '\n';
for (i = 1; i <= v2[0]; ++i)
g << v2[i] << ' ';
}
}
}