Pagini recente » Monitorul de evaluare | Cod sursa (job #1307624) | Cod sursa (job #2297148) | Cod sursa (job #1569671) | Cod sursa (job #2011624)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream fin("multimi2.in");
ofstream fout("multimi2.out");
int n,a[500010],b[500010],A,B;
int main(){
fin>>n;
if(n%4==0){
for(int i=1;i<=n;i++){
if(i%4==0 || i%4==3){
a[++A]=i;
}
else{
b[++B]=i;
}
}
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;
for(int i=2;i<=n;i++){
if(i%4==0 || i%4==3){
a[++A]=i;
}
else{
b[++B]=i;
}
}
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;
for(int i=3;i<=n;i++){
if(i%4==0 || i%4==3){
a[++A]=i;
}
else{
b[++B]=i;
}
}
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;
for(int i=4;i<=n;i++){
if(i%4==0 || i%4==3){
a[++A]=i;
}
else{
b[++B]=i;
}
}
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;
}