#3059
lexicografic
Se dă un șir v
format din N
elemente naturale nenule nu neapărat distincte. Asupra șirului putem aplica un singur tip de operație: interschimbarea a două elemente aflate pe poziții consecutive. Dându-se un număr natural K
, se cere șirul minim lexicografic ce se poate obține prin aplicarea a cel mult K
interschimbări de elemente de pe poziții consecutive.
ONI 2019 clasele XI-XII
Problema | lexicografic | Operații I/O |
lexicografic.in /lexicografic.out
|
---|---|---|---|
Limita timp | 1 secunde | Limita memorie |
Total: 128 MB
/
Stivă 8 MB
|
Id soluție | #50375525 | Utilizator | |
Fișier | lexicografic.cpp | Dimensiune | 2.51 KB |
Data încărcării | 07 Aprilie 2024, 10:26 | Scor / rezultat | Eroare de compilare |
lexicografic.cpp:20:10: warning: missing terminating ' character [enabled by default] int v[250'001]; ^ lexicografic.cpp:20:1: error: missing terminating ' character int v[250'001]; ^ lexicografic.cpp:21:11: warning: multi-character character constant [-Wmultichar] int aint[1'000'001]; ^ lexicografic.cpp:22:12: warning: missing terminating ' character [enabled by default] int aib[250'001]; ^ lexicografic.cpp:22:1: error: missing terminating ' character int aib[250'001]; ^ lexicografic.cpp:21:1: error: expected ']' before 'int' int aint[1'000'001]; ^ lexicografic.cpp:25:1: error: expected ']' before 'void' void addaib(int pos, int val) ^ lexicografic.cpp: In function 'int queaib(int)': lexicografic.cpp:31:36: error: 'aib' was not declared in this scope for (; dr; dr -= dr&-dr) s += aib[dr]; return s; ^ lexicografic.cpp: In function 'int que(int, int, int, int, int)': lexicografic.cpp:37:41: error: 'aint' was not declared in this scope if (qst <= st && dr <= qdr) return aint[nod]; ^ lexicografic.cpp:39:28: warning: suggest parentheses around '+' inside '>>' [-Wparentheses] int q = INT_MAX, mj = st+dr >> 1; ^ lexicografic.cpp: In function 'void upd(int, int, int, int, int)': lexicografic.cpp:47:34: error: 'aint' was not declared in this scope if (st == dr) return (void) (aint[nod] = val); ^ lexicografic.cpp:47:49: error: return-statement with a value, in function returning 'void' [-fpermissive] if (st == dr) return (void) (aint[nod] = val); ^ lexicografic.cpp:49:15: warning: suggest parentheses around '+' inside '>>' [-Wparentheses] int mj = st+dr >> 1; ^ lexicografic.cpp:52:4: error: 'aint' was not declared in this scope aint[nod] = min(aint[nod<<1], aint[nod<<1|1]); ^ lexicografic.cpp: In function 'int main()': lexicografic.cpp:62:44: error: 'v' was not declared in this scope for (int i = 1; i <= n; ++i) cin >> v[i]; ^ lexicografic.cpp:64:12: error: 'aib' was not declared in this scope fill(aib+1, aib+n+1, 0); ^ lexicografic.cpp:65:48: error: 'addaib' was not declared in this scope for (int i = 1; i <= n; ++i) addaib(i, 1); ^ lexicografic.cpp:66:44: error: 'v' was not declared in this scope for (int i = 1; i <= n; ++i) upd(i, v[i]); ^ lexicografic.cpp:87:24: warning: suggest parentheses around '+' inside '>>' [-Wparentheses] int mj = st+dr >> 1; ^ lexicografic.cpp:96:15: error: 'v' was not declared in this scope t.pb(v[sol]); ^ lexicografic.cpp:98:24: error: 'addaib' was not declared in this scope addaib(sol, -1); ^ lexicografic.cpp:103:54: error: 'v' was not declared in this scope if (queaib(i) - queaib(i-1) == 1) cout << v[i] << ' '; ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema lexicografic 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ă.