Pagini recente » Cod sursa (job #905080) | Cod sursa (job #179856) | Cod sursa (job #777039) | Cod sursa (job #2484584) | Cod sursa (job #1217599)
#include<stdio.h>
#include<math.h>
#define LL long long
const int NMAX = 1e5;
int f[NMAX + 5], p[NMAX + 5];
int main() {
freopen("farfurii.in", "r", stdin);
freopen("farfurii.out", "w", stdout);
int n, k, i, j, pos, dif;
scanf("%d%d", &n, &k);
pos = 1;
while((LL)pos * ((LL)pos - 1) / 2 < k)
++ pos;
dif = k - ((LL)pos - 1) * ((LL)pos - 2) / 2;
pos = n - pos + 1;
for(i = 1; i < pos; ++ i)
p[i] = i;
p[pos] = pos + dif;
k = n;
for(i = pos + 1; i <= n; ++ i, -- k) {
if(k == p[pos])
-- k;
p[i] = k;
}
for(i = 1; i <= n; ++ i)
printf("%d ", p[i]);
return 0;
}