Pagini recente » Cod sursa (job #1825609) | Cod sursa (job #1032578) | Cod sursa (job #2220188) | Cod sursa (job #1191754) | Cod sursa (job #1067133)
#include<cstdio>
#include<bitset>
using namespace std;
long long n,k,i,cnt,res;
bitset<101000>b;
int main()
{
freopen("farfurii.in","r",stdin);
freopen("farfurii.out","w",stdout);
scanf("%lld%lld",&n,&k);
if(k==n*(n-1)/2){for(i=1;i<=n;i++)printf("%lld ",n-i+1);return 0;}
if(!k){for(i=1;i<=n;i++)printf("%lld ",i);return 0;}
cnt=1;
for(i=1;i<n;i++)
{
res=(n-i)*(n-i-1)/2;
if(res>k){printf("%lld ",i);continue;}
break;
}
cnt=i+k-res;
b[cnt]=1;
printf("%lld ",cnt);
cnt=n;
for(++i;i<=n;i++,cnt--)
{
while(b[cnt])cnt--;
printf("%lld ",cnt);
}
return 0;
}