1444 過河問題

2021-10-12 02:45:42 字數 981 閱讀 1172

描述

n 個人過河,河上有 m 座 連續 的獨木橋,為了安全起見,每座獨木橋在同一時間內只能上乙個人,求所有人到達河對岸的總用時。

輸入

只有一組案例。

第一行包含兩個正整數 n 和 m,分別表示人的數量和獨木橋的數量。(1 <= n,m <= 1e5)

接下來是 m 個數字,第 i 個數字表示通過第 i 座獨木橋所需要的時間,對於每個數字 x 都有 1 <= x <= 1e5。

輸出

輸出乙個長整數,表示所有人到達河對岸的總用時,然後換行。

樣例輸入

2 31 2 3

樣例輸出

9

#include

#include

//algorithm為了使用max函式

using

namespace std;

intmain()

cout << end << endl;

return0;

}//n=2 m=3

//t1=1 t2=2 t3=3

//si表示通過第i座橋的第乙個人花的時間

//ei表示通過第i座橋的最後乙個人花的時間

//第 0 1 2 3 座橋

//p1: s0=0 s1=s0+t1 s2=s1+t2 s3=s2+t3

//p2: e0=0 e1=max(e0+t1,s0+n*t1) e2=max(e1+t2,s1+n*t2) e3=max(e2+t3,s2+n*t3)

e0+t1表示前面橋的時間比後面橋大

s0+n*t1表示前面橋的時間比後面橋小

過河問題(ACM

描述 在漆黑的夜裡,n 位旅行者來到了一座狹窄而且沒有護欄的橋邊。如果不借助手電筒的話,大家是無論如何也不敢過橋去的。不幸的是,n個人一共只帶了乙隻手電筒,而橋窄得只夠讓兩個人同時過。如果各自單獨過橋的話,n人所需要的時間已知 而如果兩人同時過橋,所需要的時間就是走得比較慢的那個人單獨行動時所需的時...

青蛙過河問題

青蛙過河是乙個非常有趣的智力遊戲,其大意如下 一條河之間有若干個石塊間隔,有兩隊青蛙在過河,每隊有3 只青蛙,如 圖 10 19所示。這些 青蛙只能向前移動,不能向後移動,且一次只能有乙隻青蛙向前移動。在移動過程中,育蛙可以向 前面的空位中移動,不可一次跳過兩個位置,但是可以跳過對方乙隻青蛙進入前面...

貪心過河問題

過河問題 時間限制 1000 ms 記憶體限制 65535 kb 難度 5 描述在漆黑的夜裡,n位旅行者來到了一座狹窄而且沒有護欄的橋邊。如果不借助手電筒的話,大家是無論如何也不敢過橋去的。不幸的是,n個人一共只帶了乙隻手電筒,而橋窄得只夠讓兩個人同時過。如果各自單獨過橋的話,n人所需要的時間已知 ...