【HDOJ6581】Vacation(模拟)
2024-08-25 16:19:24
题意:有标号从0到n的n+1辆车,每辆车离终点的距离为s[i],车长为l[i],速度为v[i],规定不能超车,问何时所有车都能过终点线
n<=1e5,保证
思路:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned int uint;
typedef unsigned long long ull;
typedef pair<int,int> PII;
typedef pair<ll,ll> Pll;
typedef vector<int> VI;
typedef vector<PII> VII;
typedef pair<ll,int>P;
#define N 2100000
#define M 151000
#define fi first
#define se second
#define MP make_pair
#define pi acos(-1)
#define mem(a,b) memset(a,b,sizeof(a))
#define rep(i,a,b) for(int i=(int)a;i<=(int)b;i++)
#define per(i,a,b) for(int i=(int)a;i>=(int)b;i--)
#define lowbit(x) x&(-x)
#define Rand (rand()*(1<<16)+rand())
#define id(x) ((x)<=B?(x):m-n/(x)+1)
#define ls p<<1
#define rs p<<1|1 const ll MOD=1e9+,inv2=(MOD+)/;
double eps=1e-;
ll INF=1e18;
ll inf=5e13;
int dx[]={-,,,};
int dy[]={,,-,}; int l[N],s[N],v[N]; int read()
{
int v=,f=;
char c=getchar();
while(c<||<c) {if(c=='-') f=-; c=getchar();}
while(<=c&&c<=) v=(v<<)+v+v+c-,c=getchar();
return v*f;
} int main()
{
//freopen("1.in","r",stdin);
//freopen("1.out","w",stdout);
int n;
while(scanf("%d",&n)!=EOF)
{
rep(i,,n+) l[i]=read();
rep(i,,n+) s[i]=read();
rep(i,,n+) v[i]=read();
double sum=,ans=1.0*s[]/v[];
rep(i,,n+)
{
sum+=l[i];
ans=max(ans,1.0*(sum+s[i])/v[i]);
}
printf("%.10f\n",ans);
} return ;
}
最新文章
- jQuery对数组操作
- JavaScript下的setTimeout(fn,0)意味着什么?
- Linux 配置NFS,文件共享
- mysql 如何判断 ";字符串"; 是否为 ";数字";
- 八、天气App案例
- appStore应用发布流程
- jQuery获取checkbox选中项等操作及注意事项
- 看Lucene源码必须知道的基本规则和算法
- CentOS 下PHP的卸载
- Linux 最新SO_REUSEPORT特性
- [BZOJ 1054][HAOI 2008]移动玩具 状态压缩
- 敏捷开发相关编辑思想(SOA、DDD、REST、CQRS)
- 聊聊Flexbox布局中的flex的演算法
- 必读:Spark与kafka010整合
- How to translate virtual to physical addresses through /proc/pid/pagemap
- 什么是虚拟DOM?为啥虚拟DOM可以提升性能?
- Java 构造 BSON 数据类型
- 关联更新 Update
- c语言优先级和结合性
- OutSystems学习笔记。