#4367
Fie un șir de caractere S
format din litere mici ale alfabetului englez, indexat de la 1
. Trebuie să răspundeți la Q
query-uri de forma x, y
– calculați câte inversiuni se află în intervalul [x, y]
. O inversiune este o pereche de indici (i, j)
, 1 ≤ i < j ≤ N
, pentru care este adevărată relația S
i
> S
j
.
Info-Oltenia 2023, echipe 11-12
Problema | inversiuni1 | Operații I/O |
![]() |
---|---|---|---|
Limita timp | 2.5 secunde | Limita memorie |
Total: 256 MB
/
Stivă 64 MB
|
Id soluție | #56278775 | Utilizator | |
Fișier | inversiuni1.cpp | Dimensiune | 1.01 KB |
Data încărcării | 12 Februarie 2025, 13:34 | Scor / rezultat | Eroare de compilare |
inversiuni1.cpp:13:11: error: array bound is not an integer constant before ']' token int v[nMAX]; ^ inversiuni1.cpp:14:12: error: array bound is not an integer constant before ']' token int fv[nMAX][26]; /// de cate ori apare j in [1,i] ^ inversiuni1.cpp:15:24: error: array bound is not an integer constant before ']' token long long invStart[nMAX]; /// cate inversiuni exista in [i,n] ^ inversiuni1.cpp: In function 'int main()': inversiuni1.cpp:25:7: error: 'v' was not declared in this scope v[i] = c - 'a' + 1; ^ inversiuni1.cpp:27:10: error: 'fv' was not declared in this scope fv[i][j] = fv[i-1][j] + (v[i] == j); ^ inversiuni1.cpp:32:7: error: 'invStart' was not declared in this scope invStart[i] = invStart[i+1]; ^ inversiuni1.cpp:33:20: error: 'v' was not declared in this scope for (int j = v[i]-1; j >= 1; --j) ^ inversiuni1.cpp:34:25: error: 'fv' was not declared in this scope invStart[i] += fv[n][j]-fv[i][j]; ^ inversiuni1.cpp:43:23: error: 'invStart' was not declared in this scope long long cnt = invStart[x] - invStart[y+1]; ^ inversiuni1.cpp:46:27: error: 'fv' was not declared in this scope cnt -= 1LL * (fv[y][a]-fv[x-1][a]) * (fv[n][b]-fv[y][b]); ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema inversiuni1 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ă.