Cod sursa(job #3133742)
| Utilizator | Data | 26 mai 2023 18:34:41 | |
|---|---|---|---|
| Problema | Farfurii | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.64 kb |
#include <fstream>
using namespace std;
ifstream in("farfurii.in");
ofstream out("farfurii.out");
int n, ult,sol[100005];
long long inv, K;
bool v[100005];
int main()
{
in >> n >> K;
for (int i = 1; i <= n; ++i) {
inv = 1LL * (n - i) * (n - i - 1) / 2LL;
if (inv < K) {
sol[i] = i + K - inv;
v[i + K - inv] = true;
ult = i;
break;
}
else {
sol[i] = i;
v[i] = true;
}
ult = i;
}
for (int i = n; i > 0; --i)
if (!v[i])
sol[++ult] = i;
for (int i = 1; i <= n; ++i)
out<<sol[i]<<" ";
}