QOJ.ac

QOJ

Süre Sınırı: 1 s Bellek Sınırı: 2048 MB Toplam puan: 100

#11366. SLA-tomografi

İstatistikler

Stereolitografi (SLA) er en 3D-utskriftsteknikk for å herde flytende materiale til et fast objekt ett lag om gangen ved hjelp av en laser. I denne oppgaven ser vi på en 2D-forenkling av SLA der designet til objektet som skrives ut kan representeres som et rektangulært rutenett av tegnene # og ., der # representerer en rutenettcelle som er opptatt av objektet og . er tomt rom. Her er for eksempel et $4 \times 8$-design:

..#.....
..#..#..
#.#.##..
#.#####.

Et design trenger ikke å bestå av ett enkelt sammenhengende stykke, men med unntak av #-celler på den nederste raden i designet, må hver #-celle støttes av en annen #-celle rett under den.

Utskrift av et objekt med SLA foregår lag for lag, med start fra den nederste raden. Først oversvømmes alle cellene i raden med en flytende lysfølsom harpiks. Deretter sveiper en laser over raden, herder harpiksen i alle #-celler til et fast stoff og hopper over alle .-celler. Så renner gjenværende væske til venstre for den #-cellen som er lengst til venstre og til høyre for den #-cellen som er lengst til høyre bort. Annen væske forblir fanget. (Hvis det ikke er noen #-celler i raden — noe som bare kan skje for rader nær toppen av designet, etter at objektet er ferdig skrevet ut — renner all væske bort fra raden.) Denne prosessen gjentas deretter for hver påfølgende rad. For designet ovenfor, etter at utskriften er fullført, forblir harpiks fanget i alle cellene som er markert med tegnet ~ nedenfor:

..#.....
..#~~#..
#~#~##..
#~#####.

Mens du manuelt suger ut den gjenværende harpiksen fra objektet, begynner du å lure på: hvor mye av det opprinnelige designet kan gjenopprettes ved bare å vite hvor mye flytende harpiks som er igjen i hver rad av designet etter utskrift? For designet ovenfor er mengden gjenværende harpiks i hver rad (startende fra toppen av designet) $0, 2, 2, 1$. Andre design har også det samme fotavtrykket av gjenværende harpiks; for eksempel:

....
#..#
#..#
#.##

Gitt en liste over hvor mange celler med flytende harpiks som er igjen i hver rad (startende fra den øverste raden), skriv ut bredden på det smaleste objektdesignet hvis rader ville inneholdt disse mengdene med flytende harpiks etter utskrift. Hvis det ikke finnes noe slikt design, skriv ut impossible.

Inndata

Den første linjen i inndataen inneholder et enkelt heltall $N$ ($1 \le N \le 10^5$), antallet rader i objektdesignet. Deretter følger $N$ linjer, som hver inneholder et enkelt heltall $x$ ($0 \le x \le 10^9$), antallet celler med gjenværende flytende harpiks i hver rad av det ønskede objektdesignet (i rekkefølge ovenfra og ned).

Minst én rad vil ha minst én gjenværende celle med flytende harpiks.

Utdata

Skriv ut bredden (antallet kolonner) i det smaleste objektdesignet der antallet celler med gjenværende flytende harpiks i hver rad samsvarer med inndataen. («Smaleste» betyr å ha minst mulig antall kolonner). Hvis det ikke finnes noe slikt design, skriv ut impossible i stedet.

Eksempler

Inndata 1

4
0
2
2
1

Utdata 1

4

Inndata 2

3
4
0
4

Utdata 2

11

Forklaring

Eksempel 1 tilsvarer eksempelet ovenfor. Et smalest mulig design for eksempel 2 er:

#....#.....
######.....
######....#

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.