Stereolitografi (SLA) adalah teknik pencetakan 3D untuk mengeraskan material cair menjadi objek padat selapis demi selapis menggunakan laser. Dalam masalah ini, kita akan meninjau penyederhanaan 2D dari SLA yang mana desain objek yang dicetak dapat direpresentasikan sebagai kisi persegi panjang dari karakter # dan ., dengan # merepresentasikan sel kisi yang ditempati oleh objek dan . adalah ruang kosong. Sebagai contoh, berikut adalah desain berukuran $4 \times 8$:
..#..... ..#..#.. #.#.##.. #.#####.
Sebuah desain tidak harus terdiri dari satu bagian yang saling terhubung, tetapi kecuali untuk sel # pada baris paling bawah desain, setiap sel # harus ditopang oleh sel # lain tepat di bawahnya.
Mencetak objek menggunakan SLA berlangsung lapis demi lapis, dimulai dari baris paling bawah. Pertama, semua sel pada baris tersebut dibanjiri dengan resin cair fotosensitif. Kemudian laser menyapu baris tersebut, mengeraskan resin di semua sel # menjadi benda padat dan melewati semua sel .. Selanjutnya, sisa cairan di sebelah kiri # paling kiri dan di sebelah kanan # paling kanan akan mengalir keluar. Cairan lainnya tetap terperangkap. (Jika tidak ada sel # pada baris tersebut—yang hanya mungkin terjadi pada baris-baris di dekat bagian atas desain, setelah objek selesai dicetak sepenuhnya—semua cairan mengalir keluar dari baris tersebut.) Proses ini kemudian berulang untuk setiap baris berikutnya. Untuk desain di atas, setelah pencetakan selesai, resin tetap terperangkap di semua sel yang ditandai dengan karakter ~ di bawah ini:
..#..... ..#~~#.. #~#~##.. #~#####.
Saat menyedot sisa resin dari objek secara manual, Anda mulai bertanya-tanya: seberapa banyak desain asli yang dapat dipulihkan hanya dengan mengetahui berapa banyak resin cair yang tersisa di setiap baris desain setelah pencetakan? Untuk desain di atas, jumlah sisa resin di setiap baris (dimulai dari bagian atas desain) adalah $0, 2, 2, 1$. Desain-desain lain juga memiliki sidik jari sisa resin yang sama; sebagai contoh:
.... #..# #..# #.##
Diberikan daftar berapa banyak sel resin cair yang tersisa di setiap baris (dimulai dari baris paling atas), cetak lebar dari desain objek paling sempit yang baris-barisnya akan memuat jumlah resin cair tersebut setelah pencetakan. Jika tidak ada desain seperti itu, cetak impossible.
Masukan
Baris pertama masukan berisi sebuah bilangan bulat $N$ ($1 \le N \le 10^5$), yaitu jumlah baris pada desain objek. Diikuti oleh $N$ baris, masing-masing berisi sebuah bilangan bulat $x$ ($0 \le x \le 10^9$), yaitu jumlah sel sisa resin cair di setiap baris dari desain objek yang diinginkan (secara berurutan dari atas ke bawah).
Setidaknya satu baris akan memiliki setidaknya satu sel sisa resin cair.
Keluaran
Cetak lebar (jumlah kolom) pada desain objek paling sempit yang jumlah sel sisa resin cair di setiap barisnya sesuai dengan masukan. ("Paling sempit" berarti memiliki jumlah kolom terkecil yang mungkin). Jika tidak ada desain seperti itu, cetak impossible sebagai gantinya.
Contoh
Masukan 1
4 0 2 2 1
Keluaran 1
4
Masukan 2
3 4 0 4
Keluaran 2
11
Catatan
Masukan Contoh 1 sesuai dengan contoh di atas. Salah satu desain paling sempit yang mungkin untuk Masukan Contoh 2 adalah:
#....#..... ######..... ######....#