#1200
Spiridusi
Mei și Satsuki s-au întors de curând în casa de vacanță a familiei lor. Această casă este formată din N
camere, unite între ele prin N-1
culoare, astfel încât să se poată ajunge din orice cameră în orice altă cameră. Intrarea în casă se face prin camera 1
. Deoarece casa n-a fost locuită timp de mai multe luni, în fiecare cameră i
s-au stabilit s[i]
spiriduși de praf.
Cele două fete doresc să-și amenajeze un spațiu de joacă întins pe mai multe camere. Ele vor să stabilească două camere a
și b
(nu neapărat distincte), astfel încât drumul cel mai scurt de la intrarea în casă până în camera b
trece prin camera a
. Fetele vor merge apoi din camera a
în camera b
pe drumul cel mai scurt (fără a trece de două ori prin aceeași cameră), gonind spiridușii de praf aflați în fiecare cameră prin care trec, inclusiv pe cei din camerele a
și b
. După ce fetele ajung în camera b
, ele consideră că toate camerele din care au gonit spiridușii de praf au fost alese pentru spațiul de joacă.
Fetele au stabilit pentru fiecare cameră i
un coeficient p[i]
care reprezintă cât de plăcută ar fi camera i
pentru spațiul lor de joacă. În plus, ele au convenit că nu vor goni în total mai mult de C
spiriduși ai prafului din camerele prin care trec.
Cunoscând valorile lui N
și C
, numărul de spiriduși ai prafului s[i]
, coeficienții p[i]
pentru fiecare cameră i
, cât și modul în care sunt unite camerele prin culoare, să se determine suma maximă a coeficienților p
ai camerelor alese pentru un spațiu de joacă ce respectă condițiile impuse de Mei și Satsuki.
Problema | Spiridusi | Operații I/O |
spiridusi.in /spiridusi.out
|
---|---|---|---|
Limita timp | 0.4 secunde | Limita memorie |
Total: 64 MB
/
Stivă 16 MB
|
Id soluție | #43044807 | Utilizator | |
Fișier | spiridusi.cpp | Dimensiune | 2.95 KB |
Data încărcării | 28 Martie 2023, 18:24 | Scor / rezultat | Eroare de compilare |
spiridusi.cpp: In function 'void DFS(long long int)': spiridusi.cpp:82:25: warning: unused variable 'ok' [-Wunused-variable] int ok = 1; ^ spiridusi.cpp:97:89: error: no matching function for call to 'min(int&, long long int)' dp[el][i].s = min(dp[el][i].s, sp[el][i-1] + dp[s1][j].s - s[s1]); ^ spiridusi.cpp:97:89: note: candidates are: In file included from /usr/include/c++/4.8/bits/char_traits.h:39:0, from /usr/include/c++/4.8/ios:40, from /usr/include/c++/4.8/istream:38, from /usr/include/c++/4.8/sstream:38, from /usr/include/c++/4.8/complex:45, from /usr/include/c++/4.8/ccomplex:38, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52, from spiridusi.cpp:1: /usr/include/c++/4.8/bits/stl_algobase.h:193:5: note: template<class _Tp> const _Tp& std::min(const _Tp&, const _Tp&) min(const _Tp& __a, const _Tp& __b) ^ /usr/include/c++/4.8/bits/stl_algobase.h:193:5: note: template argument deduction/substitution failed: spiridusi.cpp:97:89: note: deduced conflicting types for parameter 'const _Tp' ('int' and 'long long int') dp[el][i].s = min(dp[el][i].s, sp[el][i-1] + dp[s1][j].s - s[s1]); ^ In file included from /usr/include/c++/4.8/bits/char_traits.h:39:0, from /usr/include/c++/4.8/ios:40, from /usr/include/c++/4.8/istream:38, from /usr/include/c++/4.8/sstream:38, from /usr/include/c++/4.8/complex:45, from /usr/include/c++/4.8/ccomplex:38, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52, from spiridusi.cpp:1: /usr/include/c++/4.8/bits/stl_algobase.h:239:5: note: template<class _Tp, class _Compare> const _Tp& std::min(const _Tp&, const _Tp&, _Compare) min(const _Tp& __a, const _Tp& __b, _Compare __comp) ^ /usr/include/c++/4.8/bits/stl_algobase.h:239:5: note: template argument deduction/substitution failed: spiridusi.cpp:97:89: note: deduced conflicting types for parameter 'const _Tp' ('int' and 'long long int') dp[el][i].s = min(dp[el][i].s, sp[el][i-1] + dp[s1][j].s - s[s1]); ^ In file included from /usr/include/c++/4.8/algorithm:62:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from spiridusi.cpp:1: /usr/include/c++/4.8/bits/stl_algo.h:4221:5: note: template<class _Tp> _Tp std::min(std::initializer_list<_Tp>) min(initializer_list<_Tp> __l) ^ /usr/include/c++/4.8/bits/stl_algo.h:4221:5: note: template argument deduction/substitution failed: spiridusi.cpp:97:89: note: mismatched types 'std::initializer_list<_Tp>' and 'int' dp[el][i].s = min(dp[el][i].s, sp[el][i-1] + dp[s1][j].s - s[s1]); ^ In file included from /usr/include/c++/4.8/algorithm:62:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:64, from spiridusi.cpp:1: /usr/include/c++/4.8/bits/stl_algo.h:4226:5: note: template<class _Tp, class _Compare> _Tp std::min(std::initializer_list<_Tp>, _Compare) min(initializer_list<_Tp> __l, _Compare __comp) ^ /usr/include/c++/4.8/bits/stl_algo.h:4226:5: note: template argument deduction/substitution failed: spiridusi.cpp:97:89: note: mismatched types 'std::initializer_list<_Tp>' and 'int' dp[el][i].s = min(dp[el][i].s, sp[el][i-1] + dp[s1][j].s - s[s1]); ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Spiridusi 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ă.