#1194
Un proprietar vinde un teren de formă dreptunghiulară împărțit în MxN parcele de formă pătrată cu lungimea laturii de o unitate. Fiecare parcelă costă V lei. Vlad s-a interesat și a aflat pentru fiecare din parcelele terenului care este valoarea de revânzare. El constată că unele parcele i-ar putea aduce profit, iar altele i-ar aduce pierdere. Fiind isteț, negociază cu proprietarul să cumpere atâtea parcele de teren câte pot fi împrejmuite cu un singur gard de lungime egală cu 2M+2N unități. Terenul are pe fiecare din cele patru laturi acces la drumul exterior, pe o porțiune de lungime egală cu o unitate. Vlad negociază astfel încât terenul achiziționat să conțină și cele patru parcele de acces la exterior.
Cunoscând M și N – dimensiunile terenului, V – prețul de cumpărare al fiecărei parcele, x_nord, x_sud, y_vest și y_est – pozițiile parcelelor cu acces la drumul exterior și A[i][j], 1≤i≤M și 1≤j≤N – valorile de revânzare pentru fiecare parcelă, să se determine:
a) Profitul P_arie_minimă pe care-l poate obține Vlad după cumpărarea și apoi revânzarea suprafeței de teren de arie minimă, împrejmuită conform condițiilor negociate.
b) Profitul maxim P_max pe care-l poate obține Vlad după cumpărarea și apoi revânzarea unei suprafețe de teren împrejmuită conform condițiilor negociate.
| Problema | Fence | Operații I/O |
fence.in/fence.out
|
|---|---|---|---|
| Limita timp | 0.3 secunde | Limita memorie |
Total: 32 MB
/
Stivă 8 MB
|
| Id soluție | #53222108 | Utilizator | |
| Fișier | fence.cpp | Dimensiune | 2.05 KB |
| Data încărcării | 21 Octombrie 2024, 19:27 | Scor/rezultat | 100 puncte |
fence.cpp: In function 'void solve()': fence.cpp:105:71: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d%d%d%d%d%d%d", &cer, &N, &M, &minus, &_j0, &_j1, &i0, &i1); ^ fence.cpp:112:43: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d", mat[i]+j), mat[i][j]-=minus; ^ fence.cpp: In function 'int main()': fence.cpp:122:33: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("fence.in", "r", stdin); ^ fence.cpp:123:35: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("fence.out", "w", stdout); ^
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 0 | 0.02 secunde | OK. | 4 | 4 | ||
| 1 | 0.024 secunde | OK. | 4 | 4 | ||
| 2 | 0.008 secunde | OK. | 4 | 4 | ||
| 3 | 0.004 secunde | OK. | 4 | 4 | ||
| 4 | 0.02 secunde | OK. | 4 | 4 | ||
| 5 | 0 secunde | OK. | 6 | 6 | ||
| 6 | 0 secunde | OK. | 6 | 6 | ||
| 7 | 0 secunde | OK. | 6 | 6 | ||
| 8 | 0 secunde | OK. | 6 | 6 | ||
| 9 | 0 secunde | OK. | 6 | 6 | ||
| 10 | 0.012 secunde | OK. | 5 | 5 | ||
| 11 | 0.012 secunde | OK. | 5 | 5 | ||
| 12 | 0.012 secunde | OK. | 5 | 5 | ||
| 13 | 0.012 secunde | OK. | 5 | 5 | ||
| 14 | 0.032 secunde | OK. | 5 | 5 | ||
| 15 | 0.036 secunde | OK. | 5 | 5 | ||
| 16 | 0.032 secunde | OK. | 5 | 5 | ||
| 17 | 0.116 secunde | OK. | 5 | 5 | ||
| 18 | 0.116 secunde | OK. | 5 | 5 | ||
| 19 | 0.116 secunde | OK. | 5 | 5 | ||
| Punctaj total | 100 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Fence 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ă.