#4045
Kida a descoperit un nou joc, prin care pornind de la un număr oarecare poate ajunge la alte numere prin niște pași simpli: dacă la un moment de timp, T
, Kida are numărul W, atunci la momentul de timp T + 1
ea poate să ajungem la orice alt număr L
dacă:
L < W
L
este divizibil cu W - L
W
este divizibil cu W - L
2 * L ≥ W
Kida are o mulțime de N
numere, notată cu D
. Acum, ea își pune Q
întrebări de tipul: Dacă aș porni la momentul de timp T = 0
și aș avea numărul x
, care este momentul de timp minim la care aș putea sa ajung la un număr din mulțimea D
folosind regulile jocului descris mai sus? Dacă nu se poate ajunge la niciun număr din mulțimea D
, atunci Kida va considera că răspunsul este -1
.
Concursul InfoCEX HD, Februarie 2022
Problema | wl | Operații I/O |
![]() |
---|---|---|---|
Limita timp | 0.5 secunde | Limita memorie |
Total: 128 MB
/
Stivă 32 MB
|
Id soluție | #55400991 | Utilizator | |
Fișier | wl.cpp | Dimensiune | 1.57 KB |
Data încărcării | 14 Ianuarie 2025, 00:02 | Scor / rezultat | Eroare de compilare |
wl.cpp: In function 'int findMinTime(int, const std::unordered_set<int>&, int)': wl.cpp:19:14: error: expected unqualified-id before '[' token auto [current, time] = q.front(); ^ wl.cpp:22:22: error: 'current' was not declared in this scope for (int L = current / 2; L < current; ++L) { ^ wl.cpp:24:47: warning: pointer to a function used in arithmetic [-Wpointer-arith] if (D.count(L)) return time + 1; // Dacă L este în D, am găsit soluția ^ wl.cpp:24:45: error: invalid conversion from 'time_t (*)(time_t*)throw () {aka long int (*)(long int*)throw ()}' to 'int' [-fpermissive] if (D.count(L)) return time + 1; // Dacă L este în D, am găsit soluția ^ wl.cpp:26:39: warning: pointer to a function used in arithmetic [-Wpointer-arith] q.push({L, time + 1}); ^ wl.cpp:26:41: error: invalid user-defined conversion from '<brace-enclosed initializer list>' to 'std::queue<std::pair<int, int> >::value_type&& {aka std::pair<int, int>&&}' [-fpermissive] q.push({L, time + 1}); ^ In file included from /usr/include/c++/4.8/bits/stl_algobase.h:64:0, from /usr/include/c++/4.8/bits/char_traits.h:39, from /usr/include/c++/4.8/ios:40, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from wl.cpp:1: /usr/include/c++/4.8/bits/stl_pair.h:112:26: note: candidate is: constexpr std::pair<_T1, _T2>::pair(const _T1&, const _T2&) [with _T1 = int; _T2 = int] <near match> _GLIBCXX_CONSTEXPR pair(const _T1& __a, const _T2& __b) ^ /usr/include/c++/4.8/bits/stl_pair.h:112:26: note: no known conversion for argument 2 from 'time_t (*)(time_t*)throw () {aka long int (*)(long int*)throw ()}' to 'const int&' wl.cpp:26:37: error: invalid conversion from 'time_t (*)(time_t*)throw () {aka long int (*)(long int*)throw ()}' to 'const int&' [-fpermissive] q.push({L, time + 1}); ^ In file included from /usr/include/c++/4.8/bits/stl_algobase.h:64:0, from /usr/include/c++/4.8/bits/char_traits.h:39, from /usr/include/c++/4.8/ios:40, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from wl.cpp:1: /usr/include/c++/4.8/bits/stl_pair.h:112:26: error: initializing argument 2 of 'constexpr std::pair<_T1, _T2>::pair(const _T1&, const _T2&) [with _T1 = int; _T2 = int]' [-fpermissive] _GLIBCXX_CONSTEXPR pair(const _T1& __a, const _T2& __b) ^ wl.cpp:26:41: error: conversion to non-const reference type 'std::queue<std::pair<int, int> >::value_type&& {aka struct std::pair<int, int>&&}' from rvalue of type 'std::pair<int, int>' [-fpermissive] q.push({L, time + 1}); ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema wl 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ă.