HDU 6581 Vacation

题目戳我

解法:最终通过停止线的时候,一定是 一个车后面堵着剩余所有的车,那么影响时间的就只有最前面这辆车,所以对于每一辆车, 假设是它是和 0 车堵在一起的最靠前的一辆车,那么可以计算出一个值,所有的车的计算 值的最大值就是答案。

#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int maxn=100010;

int n;
ll s[maxn], l[maxn], v[maxn];

int main() {
    while(~scanf("%d", &n)) {
        n++;
        for(int i=n; i>=1; i--) scanf("%I64d", &l[i]); 
        for(int i=n; i>=1; i--) scanf("%I64d", &s[i]); 
        for(int i=n; i>=1; i--) scanf("%I64d", &v[i]); 
        for(int i=2; i<=n; i++) l[i]+=l[i-1];
        l[n]=l[n-1]; // 
        double ans=0;
        for(int i=1; i<=n; i++) {
            ans=max(ans, (double) (s[i]+(l[n]-l[i-1])) / v[i]);
        }
        printf("%.6f\n", ans);
    }
} 

未完待续...还有之前的小车车的题目待补充

posted @ 2019-07-23 14:23  ertuan  阅读(126)  评论(0)    收藏  举报