Revizia anterioară Revizia următoare
| Fişierul intrare/ieşire: | soldiers.in, soldiers.out | Sursă | Lot Seniori Dorohoi 2019 - Baraj 1 |
| Autor | Andrei Constantinescu | Adăugată de | |
| Timp execuţie pe test | 0.3 sec | Limită de memorie | 524288 kbytes |
| Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Soldiers
N soldati se aseaza in linie, de la stanga la dreapta. Fiecare soldat are un numar distinct de la 1 la n asociat. In fiecare dimineata sergenrul responsabil vine si cheama in fata pe soldatii corespunzatori numerelor 1 2 ... K
Daca acestia nu se afla chiar in ordinea 1 2 ... K pe toti cei N soldati ii va astepta o pedeapsa crunta. Sergentul, observand ca cei K soldatu nu sunt asezati corect, va incepe sa ordoneze soldatii. El ii va ordona pe cei K soldati folosind interschimbari adiacenti. La fiecare pas va alege 2 soldati aflati in ordine consecutive (din cei n) si ii va obliga sa isi interschimve pozitiile.
Sergentul este foarte eficient si ii va ordona pe soldatii cu numerele 1 2 ... K folosind un numar minim de interschimbari, insa pentru fiecare astfel de interschimbare ii va obliga pe toti soldatii sa execute o flotare.
Astazi sergentul este prea nervos si ocupat, si drept urmare va roaga pe voi sa ii spuneti cate flotari trebuie sa execute cei N soldati.
Date de intrare
Fişierul de intrare soldiers.in ...
Date de ieşire
În fişierul de ieşire soldiers.out ...
Punctare
| Subtask | Punctaj | Constrangeri |
|---|---|---|
| 1 | 6 puncte | 1 ≤ N ≤ 15 |
| 2 | 6 puncte | 1 ≤ N ≤ 100 |
| 3 | 5 puncte | 1 ≤ N ≤ 20 000 K ≤ 50 |
| 4 | 6 puncte | 1 ≤ N ≤ 20 000 K ≤ 500 |
| 5 | 37 puncte | 1 ≤ N ≤ 200 000 k ≤ 5000 |
| 6 | 5 puncte | 1 ≤ N ≤ 200 000 K=N |
| 7 | 20 puncte | 1 ≤ N ≤ 200 000 |
Exemplu
| soldiers.in | soldiers.out |
|---|---|
| 6 3 6 1 5 2 4 3 | |
| 6 5 6 1 5 2 4 3 | 4 |
| 7 4 4 5 1 7 2 6 3 | 6 |
Explicaţie
...
