Cod sursa(job #3133956)
| Utilizator | Data | 27 mai 2023 18:58:22 | |
|---|---|---|---|
| Problema | Farfurii | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f("farfurii.in");
ofstream g("farfurii.out");
int N, K, cnt=1;
int main(){
f >> N >> K;
// cat timp K este mai mic decat numarul de inversiuni posibile
while(K <= (N-cnt) * (N-cnt-1) / 2) {
cout << cnt << " ";
cnt++;
}
int numar_permutari_plus = K - (N-cnt) * (N-cnt-1) / 2;
int numar_permutat = cnt + numar_permutari_plus;
cout << numar_permutat << " ";
for(int i = N; i >= cnt; i--)
if(i != numar_permutat){
cout << i << " " ;
}
}