Cod sursa(job #2859046)
Utilizator | Data | 28 februarie 2022 19:44:06 | |
---|---|---|---|
Problema | Farfurii | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.72 kb |
#include <fstream>
using namespace std;
ifstream f("farfurii.in");
ofstream g("farfurii.out");
long long i = 1, val;
long long ok = 1, copyy, perm;
long long n, k, v[800001];
int main()
{
f >> n >> k;
copyy = n;
while (ok)
{
perm = ((n - i) * (n - i + 1)) / 2;
if (perm >= k)
{
v[i] = i, i++;
}
else
{
v[i - 1] = i - 1 + k - perm;
val = i - 1 + k - perm;
ok = 0;
i--;
}
}
for (int j = 1; j <= i; j++)
g << v[j] << " ";
for (int j = i; j < n; j++)
{
if (copyy == val)
copyy--;
g << copyy-- << " ";
}
}