Pagini recente » Cod sursa (job #2770116) | Cod sursa (job #2677660) | Cod sursa (job #2259012) | Cod sursa (job #2301678) | Cod sursa (job #165130)
Cod sursa(job #165130)
#include <stdio.h>
#include <math.h>
long long N, K, M;
int main()
{
long long P, num, L, L2, delta;
int i;
freopen("farfurii.in", "r", stdin);
freopen("farfurii.out", "w", stdout);
scanf("%d %d", &N, &K);
delta = sqrt(1 + 8 * K);
M = (1 + delta) / 2;
P = (M - 1) * M / 2;
L2 = N - M;
if ( K == P)
{
for ( i = 1; i <= L2; i++)
printf("%d ", i);
for ( i = N; i >= L2 + 1; i--)
printf("%d ", i);
}
else
{
L = N - M - 1;
for ( i = 1; i <= L; i++)
printf("%d ", i);
num = N - ( M * ( M+1) / 2 - K);
printf("%d ", num);
for ( i = N; i > num && i >= L2; i--)
printf("%d ", i);
for ( i = num - 1; i >= L2; i--)
printf("%d ", i);
}
return 0;
}