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
...