Pagini recente » Cod sursa (job #2971515) | Cod sursa (job #2939342) | Cod sursa (job #859730) | Cod sursa (job #225508) | Cod sursa (job #741986)
Cod sursa(job #741986)
#include <fstream>
#include <cstring>
using namespace std;
int N;
void Citire ()
{
ifstream fin ("multimi2.in");
fin >> N;
fin.close ();
}
void Business ()
{
char v[1000010];
long long a;
int x = 0;
if (N & 1)
{
a = (N + 1) >> 1;
a *= N;
}
else
{
a = N >> 1;
a *= (N + 1);
}
ofstream fout ("multimi2.out");
fout << (a & 1) << "\n";
memset (v, 0, sizeof (v));
a >>= 1;
for (int i = N; i >= 1; i--)
{
if (a > i)
{
v[i] = 1;
a -= i;
x++;
}
else
{
x++;
v[a] = 1;
break;
}
}
fout << x << "\n";
for (int i = 1; i <= N; i++)
{
if (v[i]) fout << i << " ";
}
fout << "\n" << N - x << "\n";
for (int i = 1; i <= N; i++)
{
if (!v[i]) fout << i << " ";
}
fout.close ();
}
int main ()
{
Citire ();
if (N == 1)
{
ofstream fout ("multimi2.out");
fout << "1\n1\n1\n0";
fout.close ();
return 0;
}
Business ();
return 0;
}