#2236
Se consideră un șir binar a[1], a[2], …, a[n]. Asupra șirului se poate efectua operația swap(i, j) prin care se interschimbă valorile a[i] și a[j]. Să se determine numărul minim de operații swap care pot fi efectuate astfel încât toate valorile de 1 să apară pe poziții consecutive în șir.
-
| Problema | swap01 | Operații I/O |
tastatură/ecran
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64892921 | Utilizator | |
| Fișier | swap01.cpp | Dimensiune | 548 B |
| Data încărcării | 10 Iunie 2026, 09:07 | Scor/rezultat | Eroare de compilare |
swap01.cpp: In function ‘int main()’: swap01.cpp:20:10: error: ‘i’ was not declared in this scope 20 | for (i = st; st <= n - k +1; st++) | ^ swap01.cpp:20:14: error: ‘st’ was not declared in this scope; did you mean ‘std’? 20 | for (i = st; st <= n - k +1; st++) | ^~ | std swap01.cpp:23:9: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation] 23 | for (int i = st; i <= st + k - 1; i++) | ^~~ swap01.cpp:26:13: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’ 26 | int swaps = k - cnt; | ^~~
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema swap01 face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.