Pagini recente » Cod sursa (job #2872844) | Istoria paginii runda/simulare_oji_2023_clasele_11_12_10_martie/clasament | Cod sursa (job #762170) | Cod sursa (job #2044651) | Cod sursa (job #1733671)
#include <fstream>
using namespace std;
ifstream fin("multimi2.in");
ofstream fout("multimi2.out");
long long n,i,s,ct,p;
bool v[1000005];
int main()
{fin>>n;
p=n*(n+1)/2;
if(n==2)fout<<"1\n1\n2\n1\n1";
else if(n==3)fout<<"0\n2\n1 2\n1\n3";
else if(p%2==0){fout<<"0\n";
s=0;
p=p/2;
for(i=n;i>=1;i--)
{s=s+i;
if(s>p){s=s-i;break;}
else {v[i]=1;ct++;}
}
if(s!=p){ct++;v[p-s]=1;}
fout<<ct<<"\n";
for(i=n;i>=1;i--)
if(v[i]==1)fout<<i<<" ";
fout<<"\n"<<n-ct<<"\n";
for(i=1;i<=n;i++)
if(v[i]==0)fout<<i<<" ";
}
else {fout<<"1\n";
s=0;p=p/2;
for(i=n;i>=1;i--)
{s=s+i;
if(s>(p)+1){s=s-i;break;}
else {v[i]=1;ct++;}
}
if(s!=p+1){ct++;v[p+1-s]=1;}
fout<<ct<<"\n";
for(i=n;i>=1;i--)
if(v[i]==1)fout<<i<<" ";
fout<<"\n"<<n-ct<<"\n";
for(i=1;i<=n;i++)
if(v[i]==0)fout<<i<<" ";
}
}