QOJ.ac

QOJ

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

#23686. Pusat Perbelanjaan

Statistics

Di Zagreb, ibu kota Kroasia, telah diputuskan untuk membangun sebuah pusat perbelanjaan besar di pinggiran kota bertepatan dengan penyelenggaraan IOI 2007. Lokasi kandidat untuk pembangunan pusat perbelanjaan tersebut dibagi menjadi kisi-kisi berukuran $m$ blok secara horizontal dan $n$ blok secara vertikal, seperti yang ditunjukkan pada gambar di bawah ini.

Contoh lokasi kandidat ($m = 10$, $n = 7$)

Pemerintah kota Zagreb memutuskan untuk memilih suatu wilayah berbentuk persegi panjang berukuran $a$ blok secara horizontal dan $b$ blok secara vertikal dari dalam lokasi kandidat dan membangun pusat perbelanjaan di sana. Namun, beberapa blok di dalam lokasi kandidat sudah dihuni oleh penduduk, sehingga pusat perbelanjaan tidak dapat dibangun di atas tanah tersebut. Jika di dalam wilayah persegi panjang berukuran $a$ blok secara horizontal dan $b$ blok secara vertikal tidak terdapat blok yang dihuni penduduk, maka pusat perbelanjaan dapat dibangun dengan membeli seluruh blok di dalam wilayah persegi panjang tersebut.

Karena alasan keuangan kota Zagreb, biaya yang diperlukan untuk pembebasan lahan harus ditekan seminimal mungkin. Untuk menyusun rencana anggaran, biaya yang diperlukan untuk pembebasan lahan guna membangun pusat perbelanjaan harus segera dihitung. Oleh karena itu, pemerintah kota Zagreb memutuskan untuk meminta Anda, seorang kandidat perwakilan IOI 2007, untuk membuat program bagi keperluan tersebut.

Diberikan masukan berupa ukuran lokasi kandidat, ukuran pusat perbelanjaan, serta untuk setiap blok, informasi apakah ada penduduk yang tinggal di sana dan, jika tidak ada yang tinggal di sana, biaya yang diperlukan untuk membeli blok tersebut, buatlah program untuk mencari biaya minimum yang diperlukan untuk pembebasan lahan guna membangun pusat perbelanjaan.

Selanjutnya, blok pada kolom ke-$i$ dari kiri dan baris ke-$j$ dari atas pada lokasi kandidat dinyatakan dengan $(i, j)$.

Masukan

Baris pertama dari berkas masukan mall.in berisi dua bilangan bulat $m, n$ ($1 \le m, n \le 1000$) yang dipisahkan oleh spasi. Ini menyatakan bahwa ukuran lokasi kandidat adalah $m$ blok secara horizontal dan $n$ blok secara vertikal.

Baris kedua berisi dua bilangan bulat $a, b$ ($1 \le a, b \le 1000$) yang dipisahkan oleh spasi. Ini menyatakan bahwa ukuran pusat perbelanjaan adalah $a$ blok secara horizontal dan $b$ blok secara vertikal.

$n$ baris berikutnya (dari baris ke-$3$ hingga baris ke-$n + 2$) berisi informasi mengenai setiap blok di dalam lokasi kandidat. Baris ke-$j + 2$ ($1 \le j \le n$) menyatakan informasi blok pada baris ke-$j$ dari atas, dan berisi $m$ bilangan bulat $c_{1,j}, \dots, c_{m,j}$ ($-1 \le c_{i,j} \le 100$) yang dipisahkan oleh spasi. Ketika $c_{i,j} = -1$, itu menyatakan bahwa ada penduduk yang tinggal di blok $(i, j)$. Jika tidak, itu menyatakan bahwa biaya yang diperlukan untuk membeli blok $(i, j)$ adalah $c_{i,j}$.

Perhatikan bahwa untuk data masukan yang digunakan dalam penilaian, pembangunan pusat perbelanjaan selalu mungkin dilakukan.

Keluaran

Keluaran harus ditulis ke keluaran standar. Cetaklah biaya minimum yang diperlukan untuk pembebasan lahan guna membangun pusat perbelanjaan.

Contoh

Masukan 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

Keluaran 1

184

Lokasi pembangunan pusat perbelanjaan pada contoh masukan dan keluaran ini diilustrasikan seperti di bawah ini. Blok yang ditandai dengan $\times$ berarti sudah ada penduduk yang tinggal di sana.

Catatan

Perhatikan ukuran data masukan. Khususnya, karena iostream di C++ lambat, disarankan untuk menggunakan fscanf atau fungsi serupa sesuai kebutuhan.

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.