码迷,mamicode.com
首页 > 其他好文 > 详细

HDU 6581 Vacation

时间:2019-07-23 15:17:36      阅读:86      评论:0      收藏:0      [点我收藏+]

标签:一起   color   while   一个   ref   假设   div   c++   net   

题目戳我

解法:最终通过停止线的时候,一定是 一个车后面堵着剩余所有的车,那么影响时间的就只有最前面这辆车,所以对于每一辆车, 假设是它是和 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);
    }
} 

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

HDU 6581 Vacation

标签:一起   color   while   一个   ref   假设   div   c++   net   

原文地址:https://www.cnblogs.com/ertuan/p/11231516.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!