题号:NC21740
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld
题目描述
有n堆石头排成一排,标号为0到n-1,第i堆石头有a[i]个石头
每一步你可以从某一堆取一个石头放到相邻的石头堆里
请问需要多少步可以将a数组变成b数组
输入描述:
第一行先输入一个整数n (1 ≤ ≤ 50)
第二行输入n个数ai
第三行输入n个数bi
0 ≤ ai, bi ≤ 106
输出描述:
输出一个整数表示最少的操作步数,如果无法将a数组变成b数组,输出-1
示例4
输入
复制
9
3 10 0 4 0 0 0 1 0
5 5 0 7 0 0 0 0 1
备注:
子任务1:n <= 10
子任务2:n <= 20
子任务3:无限制