Diberikan input dari daftar blok untuk jatuh pada titik-titik tertentu, output ketinggian "menara."
Cara terbaik untuk menjelaskan tantangan ini adalah dengan contoh. Input akan berupa daftar bilangan bulat 2n yang mewakili n blok. Bilangan bulat pertama adalah posisi x blok, diindeks 0, dan yang kedua adalah seberapa lebar blok tersebut. Misalnya, input 2 4mewakili blok (dengan x koordinat berlabel di bawah):
####
0123456789
Sekarang, katakanlah inputnya 2 4 4 6. Yaitu, satu blok di x = 2 dengan lebar 4, dan satu di x = 4 dengan lebar 6:
######
####
Perhatikan bahwa a.) Blok selalu "jatuh" dari bagian paling atas menara dan b.) Blok tidak akan pernah "jatuh" (yaitu mereka akan selalu seimbang). Jadi, input
2 4 4 6 12 1mewakili:
######
#### #
Perhatikan bahwa blok terakhir telah jatuh sampai ke "tanah".
Hasil akhir Anda harus menjadi ketinggian maksimum menara pada setiap nilai x hingga yang terbesar. Oleh karena itu, input 2 4 4 6 12 1harus menghasilkan output
0011222222001:
######
#### #
0011222222001
Input dapat diberikan sebagai string whitespace- / dipisahkan koma, array bilangan bulat, atau argumen fungsi / perintah baris. Posisi blok (nilai x) akan selalu berupa bilangan bulat 0 atau lebih besar, lebarnya akan selalu bilangan bulat 1 atau lebih besar, dan akan selalu ada setidaknya satu blok.
Output dapat diberikan sebagai string tunggal yang dipisahkan oleh karakter non-numerik (mis. "0, 0, 1, ..."), String tunggal yang mencantumkan semua digit (mis.
"001..." — Ketinggian maksimum dijamin 9 atau kurang), atau array bilangan bulat.
Karena ini adalah kode-golf , kode terpendek dalam byte akan menang.
Kasus uji:
In Out
---------------------------------------------------------
2 4 4 6 12 1 0011222222001
0 5 9 1 6 4 2 5 1133333222
0 5 9 1 2 5 6 4 1122223333
0 5 2 5 6 4 9 1 1122223334
20 1 20 1 20 1 00000000000000000003
5 5 000011111
0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 4 123456789999