Vacation

题意

有n+1辆车,属性有长度l,距离终点的距离s,速度v
问你最末尾的车到达终点的时间

Sample Input

1
2 2
7 1
2 1
2
1 2 2
10 7 1
6 2 1

Sample Output

3.5000000000
5.0000000000

注意哈  Sample Input改一下格式

1
2 2 7
1 2 1
2
1 2 2
10 7 1
6 2 1

这样看的就舒服写了  我一开始做题,硬是看了数据好长时间,感觉这是故意这样写的,好坑啊

题目链接

https://vjudge.net/problem/HDU-6581

首先我们考虑要是最后的车到达终点之前没有和其他车贴在一起,答案就是s[0]/v[0]

如果在到达终点之前与前面的车贴在一起,有这么些情况

和它前面第一辆车(这个第一是指末尾车前面的第一辆,即倒数第二辆,下面同理)贴在一起,那么答案就是 (l1+s1)/v1

和它前面第一、二辆车贴在一起,那么答案就是 (l1+l2+s2)/v2

和它前面第i辆车贴在一起,那么答案就是 (l1+l2+......+li+si)/vi

所有就枚举以每辆车速度到达终点的时间,取最大即可

AC代码

#include <iostream>
#include <cstdio>
#include <fstream>
#include <algorithm>
#include <cmath>
#include <deque>
#include <vector>
#include <queue>
#include <string>
#include <cstring>
#include <map>
#include <stack>
#include <set>
#include <sstream>
#define IOS ios_base::sync_with_stdio(0); cin.tie(0);
#define Mod 1000000007
#define eps 1e-6
#define ll long long
#define INF 0x3f3f3f3f
#define MEM(x,y) memset(x,y,sizeof(x))
#define Maxn 100005
using namespace std;
int n;
ll l[Maxn],s[Maxn],v[Maxn];
int main()
{
while(cin>>n)
{
for(int i=; i<=n; i++)
cin>>l[i];
for(int i=; i<=n; i++)
cin>>s[i];
for(int i=; i<=n; i++)
cin>>v[i];
double ans=s[]*1.0/v[];
ll sum=;
for(int i=; i<=n; i++)
{
sum+=l[i];
ans=max((sum+s[i])*1.0/v[i],ans);
}
printf("%.10f\n",ans);
}
return ;
}

最新文章

  1. C#开发微信公众平台(附Demo)
  2. OGG异常处理
  3. servlet 中 web.xml
  4. .NET笔记系列:LAMBDA表达式常用写法
  5. Windows玩转Docker(一):安装
  6. STL assign 和swap
  7. javascript第四章--面向对象的程序设计
  8. java把集合数据写入txt文档
  9. Xamarin开发缺少的android_m2repository_rxx.zip下载地址以及MD5
  10. 两行代码搞定Android视图扩散切换效果
  11. 安卓开发:UI组件-Button和EditText
  12. Knut重排算法
  13. eclipse如何使用log4j详解,你get了吗???
  14. thinkphp 3.2 去除调试模式后报错,怎么解决
  15. Maven - 实例-6-聚合与继承
  16. caffe matlab接口编译遇到的问题记录
  17. 帝国cms内容关键字自动加链接且设置内容关键字只替换一次
  18. MySQL锁分类
  19. 170809、 把list集合中的数据按照一定数量分组
  20. error: OpenCV Error: Assertion failed (0 &lt;= roi.x &amp;&amp; 0 &lt;= roi.width &amp;&amp; roi.x + roi.width &lt;= m.cols &amp;&amp; 0 &lt;= roi.y &amp;&amp; 0 &lt;= roi.height &amp;&amp; roi.y + roi.height &lt;= m.rows) in cv::Mat::Mat

热门文章

  1. 修改Maven的本地仓库地址
  2. FMX有两种消息处理的实现方式,一种是用TMessageManager来实现自定义的消息,另外一种象TEdit中的实现,直接声明消息方法(firemonkey messaging)
  3. c++实现游戏开发中常用的对象池(含源码)
  4. C++界面库(十几种,很全)
  5. .NET错误:未找到类型或命名空间名称
  6. arcgis api for js 4.X 出现跨域问题
  7. 如何使用VS Code编写Spring Boot (第二弹)
  8. Scala 学习之路(七)—— 常用集合类型之 Map &amp; Tuple
  9. 长春理工大学第十四届程序设计竞赛(重现赛)F
  10. 通用shell函数库