Pagini recente » Cod sursa (job #2471979) | Cod sursa (job #47666) | Cod sursa (job #2874821) | Cod sursa (job #2528579) | Cod sursa (job #927960)
Cod sursa(job #927960)
#include <cstdio>
using namespace std;
long long n,k,i,j;
long long v[100005];
void swap(long long &a,long long &b) {
int c = a;
a = b;
b = c;
}
int main() {
freopen("farfurii.in","r",stdin);
freopen("farfurii.out","w",stdout);
scanf("%lld %lld",&n,&k);
for (int x = 1;x<=n;x++) v[x] = x;
for (i=1;i*(i+1)/2<=k;i++);
j = k - i*(i-1)/2;
int x,y;
for (x = y = n-i;x<=n;x++) v[x] = n - x + y;
x = n-j;
while (v[x] < v[x-1]) swap(v[x],v[x-1]),x--;
for (x=1;x<=n;x++) printf("%lld ",v[x]);
return 0;
}