Błąd to: błędna odpowiedź. Ku mojemu zdziwieniu, bo odpowiedź jest identyczna.
A jest pokazane dla jakiego zestawu danych wychodzi błędna odpowiedź, i jaka jest poprawna?
Co do uwagi 2 - myślałem, że w związku z tym, iż najniższa osoba może się zmieniać, to będę musiał jej szukać w każdym roku, a nie tylko na początku - stąd pętla.
Zmienia się, ale z tego co widzę współczynnik wzrostu jest taki sam dla wszystkich, więc pierwsza znaleziona najniższa osoba będzie cały czas najniższa, z jednym tylko wyjątkiem - prześcignie kogoś, kto już nie rośnie. Tak btw, tu właśnie mogłeś polec Bracie na innych danych wejściowych. Sytuacja wygląda następująco:
Osoba 1 | Osoba 2
Wiek 14 | 20 lat
Wzrost 160 | 164 cm
Przyrost const 2 cm/rok aż do dobicia do 20 lat
Na początku to osoba 1 jest najniższym mieszkańcem Megabajtolandii, rok później tak samo, ale w kolejnym roku się zrówna z osobą 2, a od następnego to osoba 2 będzie najniższa.
EDIT:
A jednak niżej w opisie zadania jest, iż szybkość rośnięcia jest różna. No to trzeba w takim razie zwracać uwagę na parę aktualny wzrost + współczynnik.
W programowaniu obiektowym na razie nie czuję się chyba aż tak pewnie, więc wolałem zrobić funkcyjnie.
Nawet pisząc funkcyjnie można sobie zdefiniować spójną strukturę Osoba:
Kopiuj
struct Osoba
{
int wzrost;
int przyrostWzrostu;
int wiek;
};
vector<Osoba> obywatele;
zamiast robić burdel z 3 niepowiązanymi wektorami.