Pagini recente » Cod sursa (job #355044) | Cod sursa (job #783437) | Cod sursa (job #2275386) | Cod sursa (job #2843859) | Cod sursa (job #2011919)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream fin("multimi2.in");
ofstream fout("multimi2.out");
int n,a[500010],b[500010],A,B,nr;
int main(){
fin>>n;
if(n%4==0){
nr=0;
for(int i=1;i<=n;i++){
if(nr==4)
nr=0;
if(nr==0||nr==3)
a[++A]=i;
else
b[++B]=i;
nr++;
}
sort(a+1,a+A+1);
sort(b+1,b+B+1);
fout<<"0"<<"\n"<<B<<"\n";
for(int i=1;i<=B;i++)
fout<<b[i]<<" ";
fout<<"\n";
fout<<A<<"\n";
for(int i=1;i<=A;i++)
fout<<a[i]<<" ";
return 0;
}
if(n%4==1){
a[++A]=1;
nr=0;
for(int i=2;i<=n;i++){
if(nr==4)
nr=0;
if(nr==0||nr==3)
a[++A]=i;
else
b[++B]=i;
nr++;
}
sort(a+1,a+A+1);
sort(b+1,b+B+1);
fout<<"1"<<"\n"<<A<<"\n";
for(int i=1;i<=A;i++)
fout<<a[i]<<" ";
fout<<"\n";
fout<<B<<"\n";
for(int i=1;i<=B;i++)
fout<<b[i]<<" ";
return 0;
}
if(n%4==2){
a[++A]=1;
b[++B]=2;
nr=0;
for(int i=3;i<=n;i++){
if(nr==4)
nr=0;
if(nr==0||nr==3)
a[++A]=i;
else
b[++B]=i;
nr++;
}
sort(a+1,a+A+1);
sort(b+1,b+B+1);
fout<<"1"<<"\n"<<A<<"\n";
for(int i=1;i<=A;i++)
fout<<a[i]<<" ";
fout<<"\n";
fout<<B<<"\n";
for(int i=1;i<=B;i++)
fout<<b[i]<<" ";
return 0;
}
if(n%4==3){
a[++A]=1;
a[++A]=2;
b[++B]=3;
nr=0;
for(int i=4;i<=n;i++){
if(nr==4)
nr=0;
if(nr==0||nr==3)
a[++A]=i;
else
b[++B]=i;
nr++;
}
sort(a+1,a+A+1);
sort(b+1,b+B+1);
fout<<"0"<<"\n"<<A<<"\n";
for(int i=1;i<=A;i++)
fout<<a[i]<<" ";
fout<<"\n";
fout<<B<<"\n";
for(int i=1;i<=B;i++)
fout<<b[i]<<" ";
return 0;
}
return 0;
}