Cod sursa(job #3134115)
| Utilizator | Data | 28 mai 2023 15:22:43 | |
|---|---|---|---|
| Problema | Farfurii | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.56 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("farfurii.in");
ofstream g("farfurii.out");
long long int n, k, c = 1;
int main() {
f >> n >> k;
// cat timp k este mai mic decat numarul de inversiuni posibile
while (k <= (n - c) * (n - c - 1) / 2) {
g << c << " ";
c++;
}
long long int nr = k - (n - c) * (n - c - 1) / 2;
long long int nr_perm = c + nr;
g << nr_perm << " ";
for (int i = n; i >= c; i--)
if (i != nr_perm) {
g << i << " ";
}
}