惡魔獵手尤迫安野心勃勃。他背叛了暗夜精靈,率深藏在海底的那加企圖叛變:守望者在與尤迪安的交鋒中遭遇了圍殺.被困在乙個荒蕪的大島上。為了殺死守望者,尤迪安開始對這個荒島施咒,這座島很快就會沉下去,到那時,刀上的所有人都會遇難:守望者的跑步速度,為 17m/s17 m/s17
m/s, 以這樣的速度是無法逃離荒島的。慶幸的是守望者擁有閃爍法術,可在 1s1s1s
內移動 60m60m60
m,不過每次使用閃爍法術都會消耗魔法值10points10points10
poin
ts。守望者的魔法值恢復的速度為 4points/s4points/s4p
oint
s/s,只有處在原地休息狀態時才能恢復。
現在已知守望者的魔法初值 mm
m,他所在的初始位置與島的出口之間的距離 ss
s,島沉沒的時間 tt
t。你的任務是寫乙個程式幫助守望者計算如何在最短的時間內逃離荒島,若不能逃出,則輸出守望者在剩下的時間內能走的最遠距離。注意:守望者跑步、閃爍或休息活動均以秒 (s)(s)(s
) 為單位。且每次活動的持續時間為整數秒。距離的單位為公尺。
輸入僅一行,包括空格隔開的三個非負整數 m,s,t(1≤t≤3×105,0≤m≤103,1≤s≤108)m,s,t(1 \leq t \leq 3 \times 10^5,0 \leq m \leq 10^3, 1\leq s \leq 10^8)m,
s,t(
1≤t≤
3×10
5
,0≤m
≤10
3,
1≤s≤
108
)。
輸出包含兩行。
第 11
1 行為字串yes
或no
,即守望者是否能逃離荒島。
第 22
2 行包含乙個整數。
第一行為yes
時表示守望著逃離荒島的最短時間
第一行為no
時表示守望者能走的最遠距離。
樣例輸入
39 200 4
樣例輸出
no197
ac**:
#include#includeusing namespace std;
const int maxn = 3e5 + 5;
int f[maxn];
int main()
else
} int flag = 0;
for(int i = 1; i <= t; i++)
} if(!flag)printf("no\n%d\n",f[t]);
} return 0;
}
守望者的逃離(貪心)
題目描述 惡魔獵手尤迪安野心勃勃,他背叛了暗夜精靈,率領深藏在海底的娜迦族企圖叛變。守望者在與尤迪安的交鋒中遭遇了圍殺,被困在乙個荒蕪的大島上。為了殺死守望者,尤迪安開始對這個荒島施咒,這座島很快就會沉下去。到那時,島上的所有人都會遇難。守望者的跑步速度為17m s,以這樣的速度是無法逃離荒島的。慶...
守望者的逃離 (貪心)
時間限制 c c 1秒,其他語言2秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 題目描述 惡魔獵手尤迪安野心勃勃,他背叛了暗夜精靈,率領深藏在海底的娜迦族企圖叛變。守望者在與尤迪安的交鋒中遭遇了圍殺,被困在乙個荒蕪的大島上。為了殺死守望者,尤迪...
守望者的逃離 貪心
惡魔獵手尤迪安野心勃勃,他背叛了暗夜精靈,率領深藏在海底的娜迦族企圖叛變。守望者在與尤迪安的交鋒中遭遇了圍殺,被困在乙個荒蕪的大島上。為了殺死守望者,尤迪安開始對這個荒島施咒,這座島很快就會沉下去。到那時,島上的所有人都會遇難。守望者的跑步速度為17m s,以這樣的速度是無法逃離荒島的。慶幸的是守望...