Cod sursa(job #3133742)
Utilizator | Calin Oprea [email protected] | 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]<<" ";
}