Pagini recente » Cod sursa (job #928690) | Cod sursa (job #1840715) | Cod sursa (job #2432207) | Cod sursa (job #380477) | Cod sursa (job #647642)
Cod sursa(job #647642)
#include<cstdio>
#define N 100001
#define ll unsigned long long
int n,i,t,p[N],r,l;
ll k;
int main()
{freopen("farfurii.in","r",stdin);
freopen("farfurii.out","w",stdout);
scanf("%d%llu",&n,&k);
for(i=1;i<=n&&!r&&!l;i++)
if(i*(i-1)/2==k)
r=i;
else
if(i*(i-1)/2<k&&k<i*(i+1)/2)
l=i;
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("%d ",p[i]);
return 0;}