#3441
Cetate
Cetatea Vizima din regatul Temeria poate fi reprezentată printr-o matrice cu N
linii și M
coloane, numerotate începând cu 1
. Vizima este o cetate înfloritoare, fapt datorat numărului mare de negustori și meșteri prezenți. Din acest motiv, fiecărei celule din matrice îi este atribuit un profit corespunzător zonei respective. Regele Foltest dorește să reconstruiască zidurile cetății, dar cum războiul cu Imperiul Nilfgaard bate la ușă și resursele regatului sunt limitate, el trebuie să aleagă o porțiune pe care să o poată apăra, reprezentată ca o submatrice. O submatrice este identificată printr-o configurație de patru numere i1
, j1
, i2
, j2
(1≤i1≤i2≤N
, 1≤j1≤j2≤M
), în această ordine, și este formată din elementele situate pe liniile consecutive i1
, i1+1
, …, i2
și pe coloanele consecutive j1
, j1+1
, …, j2
ale matricei prin care este reprezentată cetatea. Laturile submatricei sunt egale cu numărul de linii, respectiv de coloane din care a preluat elemente, iar profitul submatricei este suma valorilor din celulele sale.
Scrieţi un program care, cunoscând matricea cetății și o valoare K
, determină:
K
, precum și configurația prin care se identifică ea;K
, precum și configurația prin care se identifică ea.OJI 2020, clasa a IX-a
Problema | Cetate | Operații I/O |
cetate.in /cetate.out
|
---|---|---|---|
Limita timp | 1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 32 MB
|
Id soluție | #21997666 | Utilizator | |
Fișier | cetate.cpp | Dimensiune | 1.78 KB |
Data încărcării | 21 Martie 2020, 16:22 | Scor / rezultat | 21 puncte |
cetate.cpp: In function 'int main()': cetate.cpp:6:37: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("cetate.in", "r", stdin); ^ cetate.cpp:7:39: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("cetate.out", "w", stdout); ^ cetate.cpp:8:48: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%lld\n%lld %lld %lld\n",&c,&N,&M,&K); ^ cetate.cpp:14:31: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%lld",&a[i][j]); ^ cetate.cpp:37:39: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%lld",&a[i][j]); ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
0 | 0 secunde | OK. | 2 | 2 | ||
1 | 0 secunde | Raspuns gresit. | 7 | 0 | ||
2 | 0 secunde | OK. | 2 | 2 | ||
3 | 0 secunde | Raspuns gresit. | 6 | 0 | ||
4 | 0 secunde | OK. | 2 | 2 | ||
5 | 0 secunde | Raspuns gresit. | 6 | 0 | ||
6 | 0 secunde | OK. | 2 | 2 | ||
7 | 0 secunde | Raspuns gresit. | 6 | 0 | ||
8 | 0.02 secunde | Raspuns gresit. | 2 | 0 | ||
9 | 0.076 secunde | Raspuns gresit. | 7 | 0 | ||
10 | 0.016 secunde | Raspuns gresit. | 2 | 0 | ||
11 | 0.048 secunde | Raspuns gresit. | 7 | 0 | ||
12 | 0.012 secunde | OK. | 2 | 2 | ||
13 | 0.044 secunde | Raspuns gresit. | 7 | 0 | ||
14 | 0.02 secunde | OK. | 2 | 2 | ||
15 | 0.056 secunde | Raspuns gresit. | 8 | 0 | ||
16 | 0.02 secunde | OK. | 2 | 2 | ||
17 | 0.068 secunde | Raspuns gresit. | 8 | 0 | ||
18 | 0.016 secunde | OK. | 2 | 2 | ||
19 | 0.076 secunde | Raspuns gresit. | 8 | 0 | ||
20 | 0 secunde | OK. | 5 | 5 | Exemplu | |
21 | 0 secunde | Raspuns gresit. | 5 | 0 | Exemplu | |
Punctaj total | 21 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Cetate 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ă.