#1199
Această problemă este dedicată celor care așteaptă metroul cu cea mai mare ardoare: locuitorii din Drumul Taberei.
Se dă planul unei rețele de metrou cu N stații și M tuneluri bidirecționale între stații. Două stații de metrou se numesc vecine dacă există un tunel între ele în acest plan. Fiecare stație i are asociat un profit p[i] dat.
Henry a fost recent promovat dintr-un post de angajat al departamentului de curățenie pe postul de project manager al firmei. Deoarece nu există fonduri pentru construirea întregii rețele de metrou, Henry trebuie să aleagă o submulțime de stații care vor fi construite, astfel încât oricare două stații alese să nu fie vecine în planul inițial. Pentru a-și păstra poziția în companie, suma profiturilor stațiilor alese în această submulțime trebuie să fie maximă.
Dându-se N, M, profiturile aduse de fiecare din cele N stații și planul inițial al rețelei, să se determine suma maximă a profiturilor stațiilor pe care le poate alege Henry astfel încât oricare două stații alese să nu fie vecine în planul inițial.
ONI 2015, Clasele XI-XII
| Problema | Metrou | Operații I/O |
metrou.in/metrou.out
|
|---|---|---|---|
| Limita timp | 0.5 secunde | Limita memorie |
Total: 64 MB
/
Stivă 16 MB
|
| Id soluție | #58774746 | Utilizator | |
| Fișier | metrou.cpp | Dimensiune | 8.52 KB |
| Data încărcării | 05 August 2025, 23:27 | Scor/rezultat | Eroare de compilare |
metrou.cpp: In function 'void precompute()': metrou.cpp:68:47: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] while(head < component_nodes.size()){ ^ metrou.cpp:63:17: warning: unused variable 'component_edge_count' [-Wunused-variable] int component_edge_count = 0; ^ metrou.cpp: In function 'int main()': metrou.cpp:221:26: error: expected unqualified-id before '[' token for (auto const& [key, vals] : path_contributions) { ^ metrou.cpp:221:26: error: expected ';' before '[' token metrou.cpp:221:27: error: 'key' was not declared in this scope for (auto const& [key, vals] : path_contributions) { ^ metrou.cpp:221:32: error: 'vals' was not declared in this scope for (auto const& [key, vals] : path_contributions) { ^ metrou.cpp: In lambda function: metrou.cpp:221:38: error: expected '{' before ':' token for (auto const& [key, vals] : path_contributions) { ^ metrou.cpp: In function 'int main()': metrou.cpp:221:38: error: expected ';' before ':' token metrou.cpp:221:38: error: expected primary-expression before ':' token metrou.cpp:221:38: error: expected ')' before ':' token metrou.cpp:221:38: error: expected primary-expression before ':' token metrou.cpp:221:38: error: expected ';' before ':' token metrou.cpp:246:1: error: expected '}' at end of input } ^ metrou.cpp:188:15: warning: unused variable 'max_total_profit' [-Wunused-variable] long long max_total_profit = 0; ^ metrou.cpp:246:1: error: expected '}' at end of input } ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Metrou 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ă.