#3704
Pe axa numerelor reale, considerăm o autostradă cu un număr nelimitat de benzi. În dreptul bornei corespunzătoare kilometrului 0 (originea axei numerelor reale) se află un radar. Acest radar depistează N mașini care circulă cu viteze constante. Pentru fiecare mașină i se cunosc ti, momentul de timp la care este detectată de radar, exprimat în ore, și vi, viteza acesteia, exprimată în km/h. Să se răspundă la Q interogări de forma: dându-se t, care este la momentul t cea mai apropiată mașină de radar dintre cele detectate până atunci (inclusiv cele detectate fix la momentul t)? Dacă există mai multe mașini dintre cele detectate până la momentul t pentru care distanța față de radar este minimă, puteți afișa oricare dintre ele.
Concursul Național Info Pro, Etapa IV
| Problema | radar | Operații I/O |
tastatură/ecran
|
|---|---|---|---|
| Limita timp | 1 secunde | Limita memorie |
Total: 128 MB
/
Stivă 8 MB
|
| Id soluție | #58705057 | Utilizator | |
| Fișier | radar.cpp | Dimensiune | 5.04 KB |
| Data încărcării | 21 Iulie 2025, 18:09 | Scor/rezultat | Eroare de compilare |
radar.cpp:8:16: error: expected type-specifier before '__int128_t' using int128 = __int128_t; ^ radar.cpp: In function 'bool is_redundant(const Car&, const Car&, const Car&)': radar.cpp:36:5: error: 'int128' was not declared in this scope int128 Ck = (int128)k.v * k.t; ^ radar.cpp:36:12: error: expected ';' before 'Ck' int128 Ck = (int128)k.v * k.t; ^ radar.cpp:37:12: error: expected ';' before 'Cj' int128 Cj = (int128)j.v * j.t; ^ radar.cpp:38:12: error: expected ';' before 'Ci' int128 Ci = (int128)i.v * i.t; ^ radar.cpp:40:12: error: expected ';' before 'vk' int128 vk = k.v, vj = j.v, vi = i.v; ^ radar.cpp:42:13: error: 'Ck' was not declared in this scope return (Ck - Ci) * (vk - vj) <= (Ck - Cj) * (vk - vi); ^ radar.cpp:42:18: error: 'Ci' was not declared in this scope return (Ck - Ci) * (vk - vj) <= (Ck - Cj) * (vk - vi); ^ radar.cpp:42:25: error: 'vk' was not declared in this scope return (Ck - Ci) * (vk - vj) <= (Ck - Cj) * (vk - vi); ^ radar.cpp:42:30: error: 'vj' was not declared in this scope return (Ck - Ci) * (vk - vj) <= (Ck - Cj) * (vk - vi); ^ radar.cpp:42:43: error: 'Cj' was not declared in this scope return (Ck - Ci) * (vk - vj) <= (Ck - Cj) * (vk - vi); ^ radar.cpp:42:55: error: 'vi' was not declared in this scope return (Ck - Ci) * (vk - vj) <= (Ck - Cj) * (vk - vi); ^ radar.cpp: In function 'int main()': radar.cpp:130:41: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (mid + 1 < envelope.size()) { ^ radar.cpp:137:17: error: 'int128' was not declared in this scope int128 va = car_a.v, vb = car_b.v; ^ radar.cpp:137:24: error: expected ';' before 'va' int128 va = car_a.v, vb = car_b.v; ^ radar.cpp:138:24: error: expected ';' before 'Ca' int128 Ca = (int128)car_a.v * car_a.t; ^ radar.cpp:139:24: error: expected ';' before 'Cb' int128 Cb = (int128)car_b.v * car_b.t; ^ radar.cpp:141:29: error: expected ')' before 'q' if ((int128)q.t * (va - vb) >= (Ca - Cb)) { ^ radar.cpp:131:28: warning: unused variable 'car_a' [-Wunused-variable] const Car& car_a = envelope[mid]; ^ radar.cpp:132:28: warning: unused variable 'car_b' [-Wunused-variable] const Car& car_b = envelope[mid + 1]; ^ radar.cpp: In function 'bool is_redundant(const Car&, const Car&, const Car&)': radar.cpp:43:1: warning: control reaches end of non-void function [-Wreturn-type] } ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema radar 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ă.