#2654
Pentru un șir de numere \( A \) se definește următoarea funcție de cost: \( f(A) = 1 \cdot v_1 + 2 \cdot v_2 + … + k \cdot v_k \), unde \( [v_1, v_2, …, v_k] \) sunt valorile distincte ale lui \( A \), ordonate crescător.
Fiind dat un șir de N numere naturale A, să se calculeze suma aplicării funcției f pe toate subsecvențele lui A (i.e. suma după (1 ≤ i ≤ j ≤ N) din f(A[i...j]), unde A[i…j] este subsecvența de la i la j).
| Problema | sortall | Operații I/O |
sortall.in/sortall.out
|
|---|---|---|---|
| Limita timp | 10 secunde | Limita memorie |
Total: 512 MB
/
Stivă 512 MB
|
| Id soluție | #58737426 | Utilizator | |
| Fișier | sortall.cpp | Dimensiune | 5.81 KB |
| Data încărcării | 28 Iulie 2025, 20:48 | Scor/rezultat | 25 puncte |
sortall.cpp: In function 'void solve(int, int)': sortall.cpp:95:19: warning: unused variable 'smaller_r_count' [-Wunused-variable] long long smaller_r_count = query(bit_cnt, a[i]); ^ sortall.cpp:96:19: warning: unused variable 'smaller_r_sum' [-Wunused-variable] long long smaller_r_sum = query(bit_val, a[i]); ^ sortall.cpp:98:19: warning: unused variable 'total_sum' [-Wunused-variable] long long total_sum = (sum_ranks + (long long)(dr - mid) * current_sum_vals_l) % MOD; ^ sortall.cpp:125:19: warning: unused variable 'total_distinct' [-Wunused-variable] long long total_distinct = query(bit_cnt, n); ^ sortall.cpp:126:19: warning: unused variable 'sum_v_times_rank' [-Wunused-variable] long long sum_v_times_rank = 0; // This would be calculated using the BITs ^
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 0 | 0 secunde | OK. | 0 | 0 | ||
| 1 | 0 secunde | OK. | 0 | 0 | ||
| 2 | 0.004 secunde | OK. | 5 | 5 | ||
| 3 | 0.004 secunde | OK. | 5 | 5 | ||
| 4 | 7.648 secunde | OK. | 5 | 5 | ||
| 5 | 5.18 secunde | OK. | 5 | 5 | ||
| 6 | 2.728 secunde | OK. | 5 | 5 | ||
| 7 | Depășit | Limita de timp depășită | 5 | 0 | ||
| 8 | Depășit | Limita de timp depășită | 5 | 0 | ||
| 9 | Depășit | Limita de timp depășită | 5 | 0 | ||
| 10 | Depășit | Limita de timp depășită | 6 | 0 | ||
| 11 | Depășit | Limita de timp depășită | 6 | 0 | ||
| 12 | Depășit | Limita de timp depășită | 6 | 0 | ||
| 13 | Depășit | Limita de timp depășită | 6 | 0 | ||
| 14 | Depășit | Limita de timp depășită | 6 | 0 | ||
| 15 | Depășit | Limita de timp depășită | 5 | 0 | ||
| 16 | Depășit | Limita de timp depășită | 5 | 0 | ||
| 17 | Depășit | Limita de timp depășită | 7 | 0 | ||
| 18 | Depășit | Limita de timp depășită | 7 | 0 | ||
| 19 | Depășit | Limita de timp depășită | 6 | 0 | ||
| Punctaj total | 25 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema sortall 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ă.