#681
orase1
Pe axa reală există N
orașe, numerotate cu numerele 1
, 2
, 3
, …, N
. Deși într-o lume unidimensională lucrurile par a fi mult mai simple, totuși majoritatea locuitorilor sunt nemulțumiți de distanțele mari parcurse între orașe în scopul rezolvării diferitelor probleme. Astfel, pentru o mai bună organizare, s-a supus la vot și s-a decis promovarea a cel mult K
orașe la rangul de centru adminstrativ. Centrele trebuie amplasate într-un mod isteț, în așa fel încât distanța maximă calculată dintre distanțele de la fiecare oraș la cel mai apropiat centru administrativ să fie cât mai mică. Întrucât costurile de administrare ale unui astfel de centru sunt ridicate, se dorește să se amplaseze un număr cât mai mic de centre administrative astfel încât distanța maximă să nu fie modificată.
Lot Juniori, Vaslui, 2014
Problema | orase1 | Operații I/O |
orase1.in /orase1.out
|
---|---|---|---|
Limita timp | 0.2 secunde | Limita memorie |
Total: 32 MB
/
Stivă 32 MB
|
Id soluție | #46566505 | Utilizator | |
Fișier | orase1.cpp | Dimensiune | 1.48 KB |
Data încărcării | 17 Noiembrie 2023, 09:49 | Scor / rezultat | 100 puncte |
orase1.cpp: In function 'int main()': orase1.cpp:47:38: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("orase1.in", "rt", stdin); ^ orase1.cpp:48:40: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("orase1.out", "wt", stdout); ^ orase1.cpp:49:27: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d %d\n",&N,&K); ^ orase1.cpp:53:25: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d ",x+i); ^ orase1.cpp: In function 'int findIndex(int*, int, int, int)': orase1.cpp:25:12: warning: 'bestIdx' may be used uninitialized in this function [-Wmaybe-uninitialized] return bestIdx; ^ orase1.cpp: In function 'bool findSolution(int*, int, int, int, int&)': orase1.cpp:37:41: warning: 'bestIdx' may be used uninitialized in this function [-Wmaybe-uninitialized] i = 1 + findIndex(x, N, j, dMax); ^ orase1.cpp:9:20: warning: 'bestIdx' may be used uninitialized in this function [-Wmaybe-uninitialized] int val = x[idx]; ^ orase1.cpp:8:22: note: 'bestIdx' was declared here int lo, hi, mid, bestIdx; ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0 secunde | OK. | 10 | 10 | ||
2 | 0 secunde | OK. | 10 | 10 | ||
3 | 0 secunde | OK. | 10 | 10 | ||
4 | 0.008 secunde | OK. | 10 | 10 | ||
5 | 0.02 secunde | OK. | 10 | 10 | ||
6 | 0.048 secunde | OK. | 10 | 10 | ||
7 | 0.06 secunde | OK. | 10 | 10 | ||
8 | 0.068 secunde | OK. | 10 | 10 | ||
9 | 0.076 secunde | OK. | 10 | 10 | ||
10 | 0.084 secunde | OK. | 10 | 10 | ||
Punctaj total | 100 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema orase1 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ă.