HDU6581 Vacation(思维)
题意:
Tom和Jerry在度假,他们在一条单行路上,有一些车在他们前面,第i辆车长度为li,它的头离停止线Si,最大速度Vi。
Tom和Jerry的车长L0,距离停止线S0,速度V0.他们必须保持低于前面那辆车的速度。但如果前面没有车,就可以开到最大的速度。
他们想知道他们通过红绿灯的最短时间。
题解:
模拟一遍每辆车的速度通过红绿灯需要多少时间,取最大值(雾)
#include<cstdio> #include<algorithm> #include<cstring> using namespace std; const int maxn=1e5+15; typedef long long ll; int s[maxn]; int v[maxn]; int l[maxn]; int main () { int N; while (~scanf("%d",&N)) { for (int i=0;i<=N;i++) scanf("%d",&l[i]); for (int i=0;i<=N;i++) scanf("%d",&s[i]); for (int i=0;i<=N;i++) scanf("%d",&v[i]); double ans=s[0]*1.0/v[0]; ll sum=0; for (int i=1;i<=N;i++) { sum+=l[i]; ans=max((sum+s[i]*1.0)/v[i],ans); } printf("%.10f\n",ans); } return 0; }