Problem E
Hornréttur snúningur
Languages
en
is
Þú færð gefna tvo vigra $v_1, v_2$ af sömu lengd $n$. Þú þarft að láta þá passa saman, sem þýðir að þeir eiga að vera hornréttir hvor á annann. Mögulega passa þeir þegar saman, en ef svo er ekki getum við samt gert eitthvað til að laga það. Við getum snúið $v_2$, það er að segja, getum tekið öftustu töluna í $v_2$ og sett hana fremst.
Athugum að gá má hvort vigrar $v_1, v_2$ séu hornréttir með því að taka innfeldi vigranna. Ef innfeldið er núll eru þeir hornréttir. Innfeldi er summa margfeldi fyrstu hnitanna, margfeldi annarra hnitanna og svo framvegis.
Við getum gert þetta aftur og aftur til að fá ný og ný $v_2$, þar til að við gerum það $n$ sinnum og erum komin á upphafsstað.
Fyrir hvaða fjölda snúninga passa vigrarnir saman?
Inntak
Fyrsta lína inntakins inniheldur tölu $1 \leq n \leq 2 \cdot 10^5$, fjöldi hnita vigranna. Næstu tvær línur inntaksins innihalda tvo vigra. Hver vigur er gefin sem runa af heiltölum aðskilin með bilum. Vigrarnir eru með $n$ hnit hvor fyrir sig. Hver tala í vigrunum er minnst $-100$ og mest $100$.
Úttak
Prentið alla snúningafjölda sem láta vigrana passa saman. Sem sagt, ef það að færa öftustu töluna fremst $k$ sinnum lætur vigrana passa saman skal prenta $k$ (og mögulega önnur gildi þá líka). Við erum bara að skoða gildi $k \geq 0$ sem eru minni en lengdin á vigrunum. Prentið öll gildin í vaxandi röð, ein tala á hverri línu. Ef engin slík gildi eru til, prentið í staðinn $-1$.
Sample Input 1 | Sample Output 1 |
---|---|
4 1 0 -1 0 0 -1 0 1 |
0 2 |
Sample Input 2 | Sample Output 2 |
---|---|
5 1 2 3 4 5 -3 -2 -1 -5 -4 |
-1 |
Sample Input 3 | Sample Output 3 |
---|---|
3 0 0 0 0 0 0 |
0 1 2 |