#680
ksplit
Se consideră un șir A
cu N
elemente întregi nenule. Numim secvență a șirului A
orice succesiune de elemente aflate pe poziții consecutive în șir: A
i
, A
i+1
, …, A
j
cu 1 ≤ i < j ≤ N
. Prin lungimea secvenței înțelegem numărul de elemente care o compun.
Pentru orice secvenţă A
i
, A
i+1
, …, A
j
, vom numi split-point un indice k
, i ≤ k < j
, care împarte secvența în două subsecvențe nevide: A
i
, A
i+1
, …, A
k
, respectiv A
k+1
, A
k+2
, …, A
j
.
Fie Dmax
valoarea absolută maximă a diferenței sumelor elementelor celor două subsecvențe separate de un split-point, luând în considerare toate secvenţele Ai,Ai+1,…,Aj
posibile şi fie Lmax
lungimea maximă a unei secvenţe caracterizată de valoarea Dmax
.
Cunoscând N
şi valorile elementelor şirului A
, să se determine Dmax
şi Lmax
.
Lot Juniori, Vaslui, 2014
Problema | ksplit | Operații I/O |
ksplit.in /ksplit.out
|
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 8 MB
/
Stivă 8 MB
|
Id soluție | #53409163 | Utilizator | |
Fișier | ksplit.cpp | Dimensiune | 2.07 KB |
Data încărcării | 28 Octombrie 2024, 21:59 | Scor / rezultat | 60 puncte |
ksplit.cpp:7:27: warning: left shift count >= width of type [enabled by default] long long INF = 1 << 63 - 1; ^ ksplit.cpp:7:19: warning: suggest parentheses around '-' inside '<<' [-Wparentheses] long long INF = 1 << 63 - 1; ^ ksplit.cpp: In function 'int main()': ksplit.cpp:83:40: warning: 'dr2' may be used uninitialized in this function [-Wmaybe-uninitialized] fout << max(dr1 - st1 - 1, dr2 - st2 - 1) << '\n'; ^ ksplit.cpp:83:40: warning: 'st2' may be used uninitialized in this function [-Wmaybe-uninitialized] ksplit.cpp:83:25: warning: 'dr1' may be used uninitialized in this function [-Wmaybe-uninitialized] fout << max(dr1 - st1 - 1, dr2 - st2 - 1) << '\n'; ^ ksplit.cpp:83:25: warning: 'st1' may be used uninitialized in this function [-Wmaybe-uninitialized]
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0 secunde | OK. | 5 | 5 | ||
2 | 0 secunde | OK. | 5 | 5 | ||
3 | 0.008 secunde | OK. | 5 | 5 | ||
4 | 0 secunde | OK. | 5 | 5 | ||
5 | 0 secunde | OK. | 5 | 5 | ||
6 | 0 secunde | Raspuns gresit. | 5 | 0 | ||
7 | 0 secunde | Raspuns gresit. | 5 | 0 | ||
8 | 0 secunde | OK. | 5 | 5 | ||
9 | 0 secunde | Raspuns gresit. | 5 | 0 | ||
10 | 0 secunde | OK. | 5 | 5 | ||
11 | 0 secunde | Raspuns gresit. | 5 | 0 | ||
12 | 0.004 secunde | Raspuns gresit. | 5 | 0 | ||
13 | 0.004 secunde | OK. | 5 | 5 | ||
14 | 0.004 secunde | OK. | 5 | 5 | ||
15 | 0.004 secunde | OK. | 5 | 5 | ||
16 | 0.008 secunde | Raspuns gresit. | 5 | 0 | ||
17 | 0.008 secunde | OK. | 5 | 5 | ||
18 | 0.012 secunde | Raspuns gresit. | 5 | 0 | ||
19 | 0.012 secunde | Raspuns gresit. | 5 | 0 | ||
20 | 0.016 secunde | OK. | 5 | 5 | ||
Punctaj total | 60 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema ksplit 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ă.