#1679
Euro
După calificarea la campionatul european de fotbal din Franța, având în vizor N
jucători din care trebuie să convoace câțiva în echipa națională, selecționerul României a apelat la niște metode mai puțin ortodoxe. Acesta a mers la vrăjitoarele renumite din Craiova pentru a-l ajuta să găsească formula câștigătoare pentru meciul de deschidere cu Franța. Vrăjitoarele, după descântece îndelungate, au ajuns la concluzia că lotul de jucători trebuie sa aibă valoarea exact X
și coeficientul de aroganță cât mai mic. Valoarea unui lot de jucători e definită ca suma valorilor jucătorilor ce intră în componența lotului. Coeficientul de aroganță al unui lot de jucători e definit ca diferența dintre valoarea maximă a unui jucător din lot și valoarea minimă a unui jucător din lot. Se mai știe că valoarea lotului nu poate depăși o valoare cunoscută Vmax
. Un lot de jucători e definit ca o submulțime nevidă de jucători aleși dintre cei N
. Atenție, un lot poate fi format și dintr-un singur jucător.
Se dă numărul N
de jucători, numărul Vmax
definit mai sus și valoarea fiecărui jucător. Selecționerul României a găsit formula câștigătoare și e curios dacă puteți și voi. Fiindcă nu are încredere totală în vrăjitoare, acesta vă cere să aflați pentru fiecare valoare X
din intervalul [1,Vmax]
coeficientul de aroganță minim posibil pentru care există cel puțin un lot dintre cei N
jucători cu valoare exact X
. Dacă nu se poate obține nici un lot de valoare exact X
, se consideră ca răspuns -1
.
ONI 2016, clasele XI-XII
Problema | Euro | Operații I/O |
euro.in /euro.out
|
---|---|---|---|
Limita timp | 0.7 secunde | Limita memorie |
Total: 16 MB
/
Stivă 8 MB
|
Id soluție | #54446514 | Utilizator | |
Fișier | euro.cpp | Dimensiune | 1.38 KB |
Data încărcării | 28 Noiembrie 2024, 17:07 | Scor / rezultat | 100 puncte |
euro.cpp: In function 'int main()': euro.cpp:24:35: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("euro.in", "r", stdin); // Deschidem fișierul de intrare ^ euro.cpp:25:37: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("euro.out", "w", stdout); // Deschidem fișierul de ieșire ^ euro.cpp:27:20: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &t); ^ euro.cpp:30:30: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d", &n, &p); ^ euro.cpp:32:31: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &a[i]); ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
0 | 0 secunde | OK. | 10 | 10 | ||
1 | 0 secunde | OK. | 10 | 10 | ||
2 | 0 secunde | OK. | 10 | 10 | ||
3 | 0 secunde | OK. | 10 | 10 | ||
4 | 0 secunde | OK. | 10 | 10 | ||
5 | 0.008 secunde | OK. | 10 | 10 | ||
6 | 0.016 secunde | OK. | 10 | 10 | ||
7 | 0.024 secunde | OK. | 10 | 10 | ||
8 | 0.032 secunde | OK. | 10 | 10 | ||
9 | 0.036 secunde | OK. | 10 | 10 | ||
Punctaj total | 100 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Euro 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ă.