QOJ.ac

QOJ

Süre Sınırı: 3 s Bellek Sınırı: 256 MB Toplam puan: 100

#1215. Veggir

İstatistikler

Þú hefur eignast tölvuleik sem gefinn var út af JOI Corp. Þetta er vel gerður leikur og þú hefur spilað hann á hverjum degi með nokkurri ánægju.

Dag einn kom fram borð sem kallast „Leysigeisli“ (Laser) meðal leikmanna. Svo virðist sem þetta borð sé afar erfitt og sagt er að jafnvel frábærir spilarar geti aðeins klárað það með mjög litlum líkum. Þegar þú reyndir við borðið mörgum sinnum áttaðir þú þig á því að mögulegt væri að klára það með því að taka mjög hraðar ákvarðanir, og þú hugsaðir að þú gætir ef til vill ráðið við það með því að búa til forrit.

Leysigeislaborðið gerist á stað þar sem $N$ veggjum hefur verið komið fyrir. Borðið er rétthyrnt og er skipt í $1 \times 1$ ferhyrnda reiti. Hver reitur er táknaður með $(x, y)$ með heiltölum $x, y \ge 0$. $(0, 0)$ er reiturinn í neðra vinstra horninu og $(x, y)$ táknar reitinn sem er $x$ reitum til hægri og $y$ reitum fyrir ofan $(0, 0)$.

Þegar borðið hefst birtast óvinir og gera árás. $M$ árásir eru gerðar í röð. Í $j$-tu árásinni skýtur óvinurinn leysigeisla beint frá reit $(P_j, N+1)$ í átt að reit $(P_j, 0)$.

Hver veggur er staðsettur á nokkrum samliggjandi reitum með sama $y$-hnit. Veggur $i$ ($1 \le i \le N$) er rétthyrningur með lárétta breidd $B_i - A_i + 1$ og lóðrétta breidd $1$. Í upphafi borðsins þekur hann reitina frá $(A_i, i)$ til $(B_i, i)$. Þú getur fært veggina lárétt eins oft og þú vilt, bæði fyrir fyrstu árás óvinarins og á milli hvaða tveggja árása sem er. Í einni færslu getur þú fært einn vegg um einn reit til hægri eða einn reit til vinstri.

Þegar leysigeisli hæfir vegg veikist kraftur hans. Þú vilt lágmarka kraft leysigeislans með því að færa veggina þannig að geislinn hæfi alla veggina.

Í þessu borði viltu lágmarka heildarfjölda veggfærsla.

Verkefni

Þegar upphafsstaðsetningar veggjanna og staðsetningar árása óvinarins eru gefnar, reiknið út lágmarksfjölda færsla fyrir hvern vegg til að tryggja að sérhver leysigeisli hæfi sérhvern vegg.

Inntak

Lesið eftirfarandi gögn úr staðalinntaki:

  • Fyrsta línan inniheldur tvær heiltölur $N$ og $M$ aðskildar með bili. Þetta gefur til kynna að það séu $N$ veggir í þessu borði og að $M$ árásir verði gerðar.
  • $i$-ta línan af næstu $N$ línum ($1 \le i \le N$) inniheldur tvær heiltölur $A_i$ og $B_i$ aðskildar með bili. Þetta gefur til kynna að í upphafi borðsins sé veggur $i$ staðsettur frá reit $(A_i, i)$ til reits $(B_i, i)$.
  • $j$-ta línan af næstu $M$ línum ($1 \le j \le M$) inniheldur heiltölu $P_j$. Þetta gefur til kynna að í $j$-tu árásinni skjóti óvinurinn leysigeisla beint frá reit $(P_j, N+1)$ í átt að reit $(P_j, 0)$.

Úttak

Skrifið út $N$ línur í staðalúttak. $i$-ta línan ($1 \le i \le N$) á að innihalda lágmarksfjölda færsla fyrir vegg $i$.

Takmarkanir

Öll inntaksgögn uppfylla eftirfarandi skilyrði:

  • $1 \le N \le 200\,000$.
  • $1 \le M \le 200\,000$.
  • $0 \le A_i \le B_i \le 1\,000\,000\,000$ ($1 \le i \le N$).
  • $0 \le P_j \le 1\,000\,000\,000$ ($1 \le j \le M$).

Undirverkefni

Undirverkefni 1 [10 stig]

  • $N = 1$ gildir.

Undirverkefni 2 [45 stig]

  • $A_i = 0$ ($1 \le i \le N$) gildir.

Undirverkefni 3 [45 stig]

  • Engar frekari takmarkanir.

Dæmi

Inntak 1

4 4
0 3
4 4
2 7
8 11
6
4
3
8

Úttak 1

5
10
1
7

Skýring

Í þessu inntaki er ein leið til að lágmarka fjölda veggfærsla eftirfarandi:

  • Fyrir 1. árás: færa vegg 1 til hægri 3 sinnum, færa vegg 2 til hægri 2 sinnum, ekki færa vegg 3 og færa vegg 4 til vinstri 2 sinnum.
  • Fyrir 2. árás: ekki færa vegg 1, færa vegg 2 til vinstri 2 sinnum, ekki færa vegg 3 og færa vegg 4 til vinstri 2 sinnum.
  • Fyrir 3. árás: ekki færa vegg 1, færa vegg 2 til vinstri 1 sinni, ekki færa vegg 3 og færa vegg 4 til vinstri 1 sinni.
  • Fyrir 4. árás: færa vegg 1 til hægri 2 sinnum, færa vegg 2 til hægri 5 sinnum, færa vegg 3 til hægri 1 sinni og færa vegg 4 til hægri 2 sinnum.

Á þennan hátt er veggur 1 færður 5 sinnum, veggur 2 er færður 10 sinnum, veggur 3 er færður 1 sinni og veggur 4 er færður 7 sinnum.

stage_start.png

Upphaf borðs

1st_attack.png

1. árás

2nd_attack.png

2. árás

3rd_attack.png

3. árás

4th_attack.png

4. árás

Inntak 2

7 11
12 39
22 23
5 38
6 47
10 43
0 50
18 46
38
19
15
1
12
29
29
0
6
40
6

Úttak 2

34
178
13
6
18
0
36

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
EditorialOpen Official EditorialQingyu- Download

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.