#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 | #51702138 | Utilizator | |
| Fișier | sortall.cpp | Dimensiune | 5.41 KB |
| Data încărcării | 05 August 2024, 20:42 | Scor/rezultat | 88 puncte |
sortall.cpp: In function 'int main()': sortall.cpp:144:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i = 0; i < pos[val].size(); i++) { ^ sortall.cpp:146:33: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] int r = ((i==pos[val].size()-1) ? x : pos[val][i+1]-1); ^ sortall.cpp:167:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] while (l_scl[d]+1<pos[d].size()&&pos[d][l_scl[d]+1]<=p) { ^ sortall.cpp:172:39: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] int rd = ((l_scl[d]+1<pos[d].size()&&p<=pos[d][l_scl[d]+1]&&pos[d][l_scl[d]+1]<=r) ? l_scl[d]+1 : -1); ^
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 0 | 0 secunde | OK. | 0 | 0 | ||
| 1 | 0 secunde | OK. | 0 | 0 | ||
| 2 | 0 secunde | OK. | 5 | 5 | ||
| 3 | 0 secunde | OK. | 5 | 5 | ||
| 4 | 0.004 secunde | OK. | 5 | 5 | ||
| 5 | 0.008 secunde | OK. | 5 | 5 | ||
| 6 | 0.004 secunde | OK. | 5 | 5 | ||
| 7 | 0.016 secunde | OK. | 5 | 5 | ||
| 8 | 0.132 secunde | OK. | 5 | 5 | ||
| 9 | 0.024 secunde | OK. | 5 | 5 | ||
| 10 | Depășit | Limita de timp depășită | 6 | 0 | ||
| 11 | 1.984 secunde | OK. | 6 | 6 | ||
| 12 | 0.86 secunde | OK. | 6 | 6 | ||
| 13 | 0.088 secunde | OK. | 6 | 6 | ||
| 14 | Depășit | Limita de timp depășită | 6 | 0 | ||
| 15 | 7.22 secunde | OK. | 5 | 5 | ||
| 16 | 0.16 secunde | OK. | 5 | 5 | ||
| 17 | 0.128 secunde | OK. | 7 | 7 | ||
| 18 | 0.136 secunde | OK. | 7 | 7 | ||
| 19 | 0.16 secunde | OK. | 6 | 6 | ||
| Punctaj total | 88 | |||||
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ă.