QOJ.ac

QOJ

Time Limit: 6 s Memory Limit: 64 MB Total points: 100

#23686. Торговельний центр

Statistics

У Загребі, столиці Хорватії, до проведення IOI 2007 було вирішено побудувати в передмісті великий торговельний центр. Ділянку-кандидата для будівництва торговельного центру розбито на сітку з $m$ кварталів по горизонталі та $n$ кварталів по вертикалі, як показано на рисунку нижче.

Приклад ділянки-кандидата ($m = 10$, $n = 7$)

Місто Загреб вирішило вибрати всередині ділянки-кандидата прямокутну область розміром $a$ кварталів по горизонталі на $b$ кварталів по вертикалі та побудувати торговельний центр там. Однак у деяких кварталах ділянки-кандидата вже живуть люди, і на цій землі не можна будувати торговельний центр. Якщо всередині прямокутної області розміром $a$ кварталів по горизонталі на $b$ кварталів по вертикалі немає кварталів, у яких живуть люди, то торговельний центр можна побудувати, викупивши всі квартали всередині цієї прямокутної області.

З фінансових причин міста Загреба витрати на викуп землі необхідно зробити якомога меншими. Щоб скласти проєкт бюджету, потрібно терміново розрахувати вартість викупу землі для будівництва торговельного центру. Тому влада Загреба вирішила доручити написання програми для цієї мети вам — кандидату до збірної на IOI 2007.

Напишіть програму, яка за заданими на вході розмірами ділянки-кандидата, розмірами торговельного центру, а також інформацією для кожного кварталу про те, чи живуть там люди, і, якщо там ніхто не живе, вартістю викупу цього кварталу, знаходить мінімальну вартість викупу землі, необхідну для будівництва торговельного центру.

Далі квартал ділянки-кандидата, що знаходиться в $i$-му стовпці зліва та $j$-му рядку зверху, позначається як $(i, j)$.

Вхідні дані

У першому рядку вхідного файлу mall.in через пробіл записано два цілі числа $m, n$ ($1 \le m, n \le 1000$). Це означає, що ділянка-кандидат має розмір $m$ кварталів по горизонталі та $n$ кварталів по вертикалі.

У другому рядку через пробіл записано два цілі числа $a, b$ ($1 \le a, b \le 1000$). Це означає, що торговельний центр має розмір $a$ кварталів по горизонталі та $b$ кварталів по вертикалі.

У наступних $n$ рядках (з рядка $3$ по рядок $n + 2$) записано інформацію про кожен квартал ділянки-кандидата. Рядок $j + 2$ ($1 \le j \le n$) описує квартали $j$-го рядка зверху і містить $m$ цілих чисел $c_{1,j}, \dots, c_{m,j}$ ($-1 \le c_{i,j} \le 100$), розділених пробілами. Коли $c_{i,j} = -1$, це означає, що в кварталі $(i, j)$ живуть люди. В іншому разі це означає, що вартість викупу кварталу $(i, j)$ дорівнює $c_{i,j}$.

Зауважте, що для всіх вхідних даних, які використовуються під час перевірки, будівництво торговельного центру завжди можливе.

Вихідні дані

Виведення потрібно здійснювати у стандартний потік виведення. Виведіть мінімальну вартість викупу землі, необхідну для будівництва торговельного центру.

Приклад

Вхідні дані 1

7 6
3 2
26 29 84 15 -1 1 71
45 14 38 91 62 77 35
68 -1 -1 90 63 56 70
31 2 4 74 72 41 90
100 26 21 -1 44 72 60
71 4 40 93 48 -1 50

Вихідні дані 1

184

Місце будівництва торговельного центру в цьому прикладі вхідних і вихідних даних проілюстровано нижче. Квартал, позначений знаком $\times$, означає, що там уже живуть люди.

Примітка

Зверніть увагу на розмір вхідних даних. Зокрема, оскільки iostream у C++ працює повільно, за потреби рекомендується використовувати fscanf тощо.

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.