#2358
castig
Ana şi Bogdan au participat la un concurs şi au obţinut premiul I, respectiv premiul al II-lea. La concurs există n
premii, numerotate de la 1
la n
, în ordinea în care sunt aşezate pe masă. Regulamentul concursului prevede că fiecare câştigător trebuie să aleagă exact k
premii aşezate pe poziţii consecutive. Fiindcă Ana are premiul I, ea poate să îşi aleagă prima premiile. Apoi Bogdan va alege şi el k
premii aşezate pe poziţii consecutive dintre cele rămase după ce a ales Ana. Ana este foarte supărată pe Bogdan, aşa că ea urmăreşte ca Bogdan să câştige cât mai puţin, fără să o intereseze prea mult ce premii alege ea.
Scrieţi un program care, cunoscând n
, k
şi valorile celor n
premii, determină cel mai mic număr valmin
, astfel încât Bogdan să nu poate selecta k
premii aşezate pe poziţii consecutive cu o valoare totală mai mare decât valmin
.
Olimpiada Municipala de Informatica, Iasi, 2018
Problema | castig | Operații I/O |
castig.in /castig.out
|
---|---|---|---|
Limita timp | 0.4 secunde | Limita memorie |
Total: 4 MB
/
Stivă 1 MB
|
Id soluție | #53967953 | Utilizator | |
Fișier | castig.cpp | Dimensiune | 949 B |
Data încărcării | 16 Noiembrie 2024, 11:18 | Scor / rezultat | Eroare de compilare |
castig.cpp:7:15: error: expected initializer before 'n' long longint n , k , s , v [ 100001 ] , st [ 100001 ] , dr [ 100001 ] , mini = 2000000000000000; ^ castig.cpp: In function 'int main()': castig.cpp:10:12: error: 'n' was not declared in this scope cin >> n >> k; ^ castig.cpp:10:17: error: 'k' was not declared in this scope cin >> n >> k; ^ castig.cpp:12:16: error: 'v' was not declared in this scope cin >> v [ i ] ; ^ castig.cpp:14:9: error: 's' was not declared in this scope s += v [ i ]; ^ castig.cpp:14:14: error: 'v' was not declared in this scope s += v [ i ]; ^ castig.cpp:17:9: error: 'st' was not declared in this scope st [ i ] = max ( st [ i - 1 ] , s + v [ i ] ); ^ castig.cpp:17:41: error: 's' was not declared in this scope st [ i ] = max ( st [ i - 1 ] , s + v [ i ] ); ^ castig.cpp:17:45: error: 'v' was not declared in this scope st [ i ] = max ( st [ i - 1 ] , s + v [ i ] ); ^ castig.cpp:20:5: error: 's' was not declared in this scope s = 0; ^ castig.cpp:21:51: error: 'v' was not declared in this scope for ( int i = n ; i > n - k + 1 ; i -- ) s += v [ i ]; ^ castig.cpp:24:9: error: 'dr' was not declared in this scope dr [ i ] = max ( dr [ i + 1 ] , s + v [ i ] ); ^ castig.cpp:24:45: error: 'v' was not declared in this scope dr [ i ] = max ( dr [ i + 1 ] , s + v [ i ] ); ^ castig.cpp:29:19: error: 'st' was not declared in this scope s = max ( st [ i - 1 ] , dr [ i + k ] ); ^ castig.cpp:29:34: error: 'dr' was not declared in this scope s = max ( st [ i - 1 ] , dr [ i + k ] ); ^ castig.cpp:30:17: error: 'mini' was not declared in this scope if (s < mini ) ^ castig.cpp:33:13: error: 'mini' was not declared in this scope cout << mini; ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema castig 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ă.