QOJ.ac

QOJ

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

#23686. Köpcentrum

Statistics

I Zagreb, Kroatiens huvudstad, har man beslutat att bygga ett stort köpcentrum i förorten i samband med att IOI 2007 arrangeras. Det tänkbara området för att bygga köpcentrumet är indelat i ett rutnät med $m$ kvarter horisontellt och $n$ kvarter vertikalt, såsom visas i figuren nedan.

Exempel på tänkbart byggområde ($m = 10$, $n = 7$)

Zagrebs stad har beslutat att välja ut ett rektangulärt område på $a$ kvarter horisontellt gånger $b$ kvarter vertikalt inom det tänkbara området och bygga köpcentrumet där. I några av kvarteren inom det tänkbara området bor det dock redan människor, och på den marken går det inte att bygga köpcentrumet. Om det inte finns något bebott kvarter inom ett rektangulärt område på $a$ kvarter horisontellt gånger $b$ kvarter vertikalt, kan köpcentrumet byggas genom att man köper upp alla kvarter inom det rektangulära området.

Av ekonomiska skäl för Zagrebs stad måste kostnaden för markförvärvet hållas så låg som möjligt. För att kunna ta fram ett budgetförslag måste man snarast beräkna den kostnad som krävs för markförvärvet för att bygga köpcentrumet. Därför har Zagrebs stad beslutat att ge dig, som är kandidat till att representera ditt land vid IOI 2007, i uppdrag att skriva ett program för detta ändamål.

Skriv ett program som, givet storleken på det tänkbara området, storleken på köpcentrumet samt för varje kvarter information om huruvida det bor människor där och, om ingen bor där, kostnaden för att köpa det kvarteret, beräknar den minsta kostnaden som krävs för markförvärv för att bygga köpcentrumet.

I det följande betecknas kvarteret i den $i$-te kolumnen från vänster och den $j$-te raden uppifrån i det tänkbara området med $(i, j)$.

Indata

Den första raden i indatafilen mall.in innehåller två heltal $m, n$ ($1 \le m, n \le 1000$) åtskilda av ett blanksteg. Detta anger att storleken på det tänkbara området är $m$ kvarter horisontellt och $n$ kvarter vertikalt.

Den andra raden innehåller två heltal $a, b$ ($1 \le a, b \le 1000$) åtskilda av ett blanksteg. Detta anger att storleken på köpcentrumet är $a$ kvarter horisontellt och $b$ kvarter vertikalt.

De följande $n$ raderna (från rad $3$ till rad $n + 2$) innehåller information om varje kvarter inom det tänkbara området. Rad $j + 2$ ($1 \le j \le n$) anger informationen om kvarteren på den $j$-te raden uppifrån och innehåller $m$ heltal $c_{1,j}, \dots, c_{m,j}$ ($-1 \le c_{i,j} \le 100$) åtskilda av blanksteg. När $c_{i,j} = -1$ anger det att det bor människor i kvarteret $(i, j)$. Annars anger det att kostnaden för att köpa kvarteret $(i, j)$ är $c_{i,j}$.

Observera att för den indata som används vid bedömningen är det alltid möjligt att bygga köpcentrumet.

Utdata

Utdata ska skrivas till standardutdata. Skriv ut den minsta kostnaden som krävs för markförvärv för att bygga köpcentrumet.

Exempel

Indata 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

Utdata 1

184

Byggplatsen för köpcentrumet i detta exempel på in- och utdata illustreras nedan. Ett kvarter markerat med $\times$ betyder att det redan bor människor där.

Observera

Var uppmärksam på indatans storlek. Eftersom iostream i C++ är långsamt är det i synnerhet lämpligt att vid behov använda fscanf eller liknande.

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.