[WFOI - 02] I wanna win the race(比赛)
题目背景
best is yet to come
kid 不小心进入了联机模式,他需要比他的对手更快通关才能取得胜利……
题目描述
kid 走进了一个场地,若干名选手在进行比赛,场地可以抽象为一个坐标系。
选手们要从 ( 1 , 1 ) \left(1,1\right) (1,1) 跑到 ( n , n ) \left(n,n\right) (n,n),若当前选手处在 ( x , y ) \left(x,y\right) (x,y),则他们下一步可以移动到 ( x ± 1 , y ) \left(x\pm1,y\right) (x±1,y) 或 ( x , y ± 1 ) \left(x,y\pm1\right) (x,y±1),注意,他们仅可以在第一象限活动,即任何时候 x > 0 , y > 0 x>0,y>0 x>0,y>0。
所有点最开始都是 A \texttt{A} A 类点,主办方选择了一个三元组 ( a , b , c ) \left(a,b,c\right) (a,b,c),将所有满足 a ≤ x ≤ b a\leq x\leq b a≤x≤b 且 y ≤ c y\leq c y≤c 的点 ( x , y ) \left(x,y\right) (x,y) 变为 B \texttt{B} B 类点,选手每经过一个 A \texttt{A} A 类需要耗时 1 1 1 秒,每经过一个 B \texttt{B} B 类需要耗时 2 2 2 秒。请注意,起始点和终点也要纳入计算。
kid 想要赢得这场比赛,他想知道最少需要多少秒能到达终点。
请注意,在【数据范围】中有重要的约束条件。
输入格式
共两行,第一行一个整数 n n n,第二行三个整数 a , b , c a,b,c a,b,c。
输出格式
输出一个整数表示 kid 通关所需要的的最少秒数。
样例 #1
样例输入 #1
5
2 4 3
样例输出 #1
9
提示
【样例解释】
下图是其中一种可行的方案,紫色点为 A \texttt{A} A 类点,红色点为 B \texttt{B} B 类点:
【数据规模与约定】
本题采用 S u b t a s k \tt Subtask Subtask 捆绑测试。
对于 30 % 30\% 30% 的数据, 1 < a < b < n ≤ 1 0 3 , 0 < c ≤ 1 0 3 1<a<b<n\leq 10^3,0<c\leq 10^3 1<a<b<n≤103,0<c≤103。
对于 100 % 100\% 100% 的数据, 1 < a < b < n ≤ 1 0 9 , 0 < c ≤ 1 0 9 1<a<b<n\leq 10^9,0<c\leq 10^9 1<a<b<n≤109,0<c≤109。
Scratch实现
后续
接下来我会不断用scratch来实现信奥比赛中的算法题、Scratch考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容