#S405. 环形公路

环形公路

问题描述

在一条环形公路上有 NN 个加油站,编号为 00N1N-1。你有一辆油箱容量无限的汽车,从某个加油站出发,希望从某一座加油站出发,顺时针绕行公路一周。已知:

  • ii 座加油站可以提供 a[i]a[i] 升汽油。
  • 从第 ii 座加油站行驶到下一座加油站需要消耗 b[i]b[i] 升汽油。 请确定是否存在一个起点加油站,使得汽车能够顺利绕行一周。若存在,返回编号最小的可行出发站;否则返回 -1

输入格式

  • 第一行包含一个整数 NN,表示加油站的数量。
  • 第二行包含 NN 个整数 a[0],a[1],...,a[N1]a[0], a[1], ..., a[N-1],表示各站可提供的油量
  • 第三行包含 NN 个整数 b[0],b[1],...,b[N1]b[0], b[1], ..., b[N-1],表示相邻站间的耗油量

输出格式

输出一个整数,表示可以绕行一周的起始加油站编号(如果有多个解,返回最小的编号)。如果无法完成,返回 -1

5
1 2 3 4 5
3 4 5 1 2
3
3
2 3 4
3 4 3
-1

数据范围

1N1051 ≤ N ≤ 10^5
0a[i],b[i]1040 ≤ a[i], b[i] ≤ 10^4