Pagini recente » Cod sursa (job #1591021) | Cod sursa (job #2979391) | Cod sursa (job #835458) | Cod sursa (job #231588) | Cod sursa (job #871692)
Cod sursa(job #871692)
#include <cstdio>
#include <cmath>
using namespace std;
FILE *f = fopen ("farfurii.in","r");
FILE *g = fopen ("farfurii.out","w");
const int MAX_N = 100005;
int N, K, sol[MAX_N];
int main()
{
fscanf (f, "%d%d", &N, &K);
double m = (1 + sqrt(1 + 8 * (double)K)) / 2;
for (int i = 1; i <= N - (int)m; i++)
sol[i] = i;
for (int i = N - (int)m + 1, aux = N; i <= N; i++)
sol[i] = aux--;
K -= (int)m * (int)(m - 1) / 2;
for (int i = N; i && K; i--, K--) {
sol[i]--;
sol[N - (int)m]++;
}
for (int i = 1; i <= N; i++)
fprintf (g, "%d ", sol[i]);
return 0;
}