Pagini recente » Cod sursa (job #1080203) | Rating Robert Aioanei (he2623) | Cod sursa (job #1585926) | Cod sursa (job #3221522) | Cod sursa (job #262009)
Cod sursa(job #262009)
#include<stdio.h>
#define Nmax 1000020
struct fc{
int x,y;
};
int n;
fc v[Nmax];
void solve()
{
int smin=2000000,p=0;
long long 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("%lld\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;
}