Cod sursa(job #110190)
Utilizator | alex cristian taiga | Data | 25 noiembrie 2007 20:12:23 |
---|---|---|---|
Problema | Multimi2 | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 2.03 kb |
//multimi2
#include<fstream.h>
ifstream f("multimi2.in");
ofstream g("multimi2.out");
int main()
{long n1,n,i,dmin,x,y,s;
f>>n;
n1=n*(n+1)/2;dmin=n1%2;
g<<dmin<<"\n";
n1=n1/2;
if(n==2){
g<<1<<"\n";
g<<1<<"\n";
g<<1<<"\n";
g<<2;
}
else
if(dmin==0)
{
s=0;
x=0;y=0;
for(i=n;s<=n1;i--)
{
s=s+i;
x++;
}i++;
s=s-i;x--;
for(i=1;s<=n1;i++)
{
s=s+i;
y++;
}i--;
s=s-i;y--;
g<<n-x-y<<"\n";
for(i=y+1;i<=n-x;i++)
g<<i<<" ";
g<<"\n"<<x+y<<"\n";
for(i=1;i<=y;i++)
g<<i<<" ";
for(i=n-x+1;i<=n;i++)
g<<i<<" ";
}else
{
s=0;
x=0;y=0;
for(i=n;s<=n1;i--)
{
s=s+i;
x++;
}i++;
s=s-i;x--;
for(i=2;s<=n1;i++)
{
s=s+i;
y++;
}i--;
s=s-i;y--;
g<<n-x-y<<"\n";
g<<1<<" ";
for(i=y+2;i<=n-x;i++)
g<<i<<" ";
g<<"\n"<<x+y<<"\n";
for(i=2;i<=y+1;i++)
g<<i<<" ";
for(i=n-x+1;i<=n;i++)
g<<i<<" ";
}
f.close();
g.close();
return 0;
}