Pagini recente » Cod sursa (job #2450935) | Cod sursa (job #1892546) | Cod sursa (job #249709) | Cod sursa (job #1209035) | Cod sursa (job #261964)
Cod sursa(job #261964)
#include<stdio.h>
#define Nmax 1000020
struct fc{
int x,y;
};
int n;
fc v[Nmax];
void solve()
{
int smin=2000000,p=0,sum=0;
for(int i=n;i>=1;--i)
{
sum+=v[i].x;
if(v[i-1].y-sum>=0 && v[i-1].y-sum<smin)
{
smin=v[i-1].y-sum;
p=i-1;
}
else if(v[i-1].y-sum<=0 && (v[i-1].y-sum)*(-1)<smin)
{
smin=(v[i-1].y-sum)*(-1);
p=i-1;
}
}
printf("%d\n",smin);
printf("%d\n",n-(n-p));
for(int i=1;i<=n-(n-p);++i)
printf("%d ",v[i].x);
printf("\n%d\n",n-p);
for(int i=n-(n-p)+1;i<=n;++i)
printf("%d ",v[i].x);
}
int main()
{
freopen("multimi2.in","r",stdin);
freopen("multimi2.out","w",stdout);
scanf("%d",&n);
v[1].x=1;
v[1].y=1;
for(int i=2;i<=n;++i)
{
v[i].x=i;
v[i].y=v[i].x+v[i-1].y;
}
solve();
return 0;
}