#4584
La atelierul de făcut potcoave lucrează N muncitori, numerotaţi pentru simplitate de la 1 la N. Fiecare muncitor a încheiat la angajare un contract în care este specificat numărul de potcoave pe care trebuie să le producă muncitorul în fiecare zi de muncă, respectiv a câta zi muncitorul este liber. Mai exact, muncitorul i (1 ≤ i ≤ N) trebuie să producă în fiecare zi de muncă pi potcoave, iar fiecare a ki-a zi va fi liberă (adică muncitorul i va fi liber în ziua ki, 2ki, 3ki, …). În ziua liberă el nu va veni la atelier, deci nu produce potcoave. Atelierul tocmai a primit o comandă de M potcoave. Scrieţi un program care să determine numărul minim de zile după care comanda poate fi integral livrată.
OMI Iasi 2024
| Problema | potcoave | Operații I/O |
potcoave.in/potcoave.out
|
|---|---|---|---|
| Limita timp | 0.15 secunde | Limita memorie |
Total: 4 MB
/
Stivă 2 MB
|
| Id soluție | #64053475 | Utilizator | |
| Fișier | potcoave.cpp | Dimensiune | 863 B |
| Data încărcării | 14 Aprilie 2026, 13:49 | Scor/rezultat | Eroare de compilare |
potcoave.cpp:5:14: error: expected type-specifier before '__int128_t' using i128 = __int128_t; ^ potcoave.cpp: In function 'int main()': potcoave.cpp:17:5: error: 'i128' was not declared in this scope i128 sumP = 0; ^ potcoave.cpp:17:10: error: expected ';' before 'sumP' i128 sumP = 0; ^ potcoave.cpp:20:9: error: 'sumP' was not declared in this scope sumP += p[i]; ^ potcoave.cpp:23:22: error: 'i128' is not a type auto check = [&](i128 T) -> bool { ^ potcoave.cpp: In lambda function: potcoave.cpp:24:14: error: expected ';' before 'total' i128 total = T * sumP; ^ potcoave.cpp:26:13: error: 'total' was not declared in this scope total -= (T / k[i]) * p[i]; ^ potcoave.cpp:27:32: error: expected ')' before 'M' if (total >= (i128)M) return true; // early exit ^ potcoave.cpp:29:16: error: 'total' was not declared in this scope return total >= (i128)M; ^ potcoave.cpp:29:31: error: expected ';' before 'M' return total >= (i128)M; ^ potcoave.cpp:29:32: warning: statement has no effect [-Wunused-value] return total >= (i128)M; ^ potcoave.cpp: In function 'int main()': potcoave.cpp:32:10: error: expected ';' before 'lo' i128 lo = 0, hi = (i128)2e18; ^ potcoave.cpp:34:12: error: 'lo' was not declared in this scope while (lo < hi) { ^ potcoave.cpp:34:17: error: 'hi' was not declared in this scope while (lo < hi) { ^ potcoave.cpp:35:14: error: expected ';' before 'mid' i128 mid = (lo + hi) / 2; ^ potcoave.cpp:36:19: error: 'mid' was not declared in this scope if (check(mid)) hi = mid; ^ potcoave.cpp:40:24: error: 'lo' was not declared in this scope cout << (long long)lo << "\n"; ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema potcoave 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ă.