Pagini recente » Cod sursa (job #194862) | Cod sursa (job #639094) | Cod sursa (job #418954) | Cod sursa (job #998798) | Cod sursa (job #626571)
Cod sursa(job #626571)
#include<stdio.h>
#define N 100001
#define ll unsigned long long
ll n,k,i,r,l,p[N],t;
int main()
{freopen("farfurii.in","r",stdin);
freopen("farfurii.out","w",stdout);
scanf("%llu%llu",&n,&k);
for(i=1;i<=n;i++)
if(i*(i-1)/2==k)
{r=i;
break;}
else
if(i*(i-1)/2<k&&k<i*(i+1)/2)
{l=i;
break;}
if(r)
{for(i=1;i<=n-r;i++)
p[i]=i;
for(t=n,i=n-r+1;i<=n;i++)
p[i]=t--;}
else
{for(i=1;i<n-l;i++)
p[i]=i;
p[n-l]=n+k-l*(l+1)/2;
for(t=n,i=n-l+1;i<=n;i++)
{if(t==p[n-l])
t--;
p[i]=t--;}}
for(i=1;i<=n;i++)
printf("%llu ",p[i]);
return 0;}