QOJ.ac

QOJ

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

#11366. טומוגרפיית SLA

İstatistikler

סטריאוליתוגרפיה (SLA) היא טכניקת הדפסה תלת-ממדית להקשיית חומר נוזלי לעצם מוצק שכבה אחר שכבה באמצעות לייזר. בבעיה זו נבחן הפשטה דו-ממדית של SLA שבה ניתן לייצג את התכנון של העצם המודפס כרשת מלבנית של התווים # ו-., כאשר # מייצג תא ברשת התפוס על ידי העצם ו-. מייצג חלל ריק. לדוגמה, הנה תכנון בגודל $4 \times 8$:

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

תכנון אינו חייב להיות מורכב מחלק קשיר אחד בלבד, אך למעט תאי # בשורה התחתונה של התכנון, כל תא # חייב להיתמך על ידי תא # אחר שנמצא ישירות מתחתיו.

הדפסת עצם באמצעות SLA מתבצעת שכבה אחר שכבה, החל מהשורה התחתונה. תחילה, כל התאים בשורה מוצפים בשרף נוזלי רגיש לאור. לאחר מכן לייזר סורק את השורה, מקשה את השרף בכל תאי ה-# למוצק ומדלג על כל תאי ה-.. לאחר מכן, עודפי הנוזל משמאל ל-# השמאלי ביותר ומימין ל-# הימני ביותר מתנקזים החוצה. שאר הנוזל נותר לכוד. (אם אין תאי # בשורה — דבר שיכול לקרות רק בשורות הקרובות לחלק העליון של התכנון, לאחר שהעצם הודפס במלואו — כל הנוזל מתנקז מהשורה.) תהליך זה חוזר על עצמו עבור כל שורה עוקבת. עבור התכנון שלעיל, לאחר השלמת ההדפסה, שרף נותר לכוד בכל התאים המסומנים בתו ~ להלן:

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

בזמן שאיבה ידנית של שאריות השרף מהעצם, אתם מתחילים לתהות: כמה מהתכנון המקורי ניתן לשחזר רק מידיעת כמות השרף הנוזלי שנותרה בכל שורה של התכנון לאחר ההדפסה? עבור התכנון שלעיל, כמות השרף שנותרה בכל שורה (החל מהחלק העליון של התכנון) היא $0, 2, 2, 1$. גם לתכנונים אחרים יש את אותה טביעת אצבע של שאריות שרף; לדוגמה:

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

בהינתן רשימה של מספר תאי השרף הנוזלי שנותרו בכל שורה (החל מהשורה העליונה), הדפיסו את הרוחב של תכנון העצם הצר ביותר ששורותיו יכילו כמויות אלו של שרף נוזלי לאחר ההדפסה. אם לא קיים תכנון כזה, הדפיסו impossible.

קלט

השורה הראשונה של הקלט מכילה מספר שלם יחיד $N$ ($1 \le N \le 10^5$), מספר השורות בתכנון העצם. אחריה מופיעות $N$ שורות, שכל אחת מהן מכילה מספר שלם יחיד $x$ ($0 \le x \le 10^9$), מספר התאים של שרף נוזלי שנותר בכל שורה של תכנון העצם הרצוי (לפי הסדר מלמעלה למטה).

לפחות בשורה אחת יהיה לפחות תא אחד של שרף נוזלי שנותר.

פלט

הדפיסו את הרוחב (מספר העמודות) בתכנון העצם הצר ביותר שמספר תאי השרף הנוזלי שנותרו בכל שורה בו תואם לקלט. ("הצר ביותר" פירושו בעל מספר העמודות הקטן ביותר האפשרי). אם לא קיים תכנון כזה, הדפיסו impossible במקום זאת.

דוגמאות

קלט 1

4
0
2
2
1

פלט 1

4

קלט 2

3
4
0
4

פלט 2

11

הערה

קלט לדוגמה 1 מתאים לדוגמה שלעיל. תכנון צר ביותר אפשרי אחד עבור קלט לדוגמה 2 הוא:

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

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.