2022年4月10日拼多多笔试第四题
#拼多多#  有m辆车要通过摆渡船到对岸去,一次摆渡最多装n辆车,一次从一侧到对岸的时间为x,往返时间为2x,求最后一辆车到达对岸的最短时间.
思路:贪心算法,尽量摆渡船尽量载满再出发,因为如果有两辆车分两次摆渡,需要等待摆渡船返回的时间。只有在后续车辆距离第一辆上船车辆的时间大于2x时才不等后续车辆。

#include<iostream>
(5488)#include<string>
#include<vector>
(7278)#include<iomanip>
#include<algorithm>
(5863)#include<unordered_map>

using namespace std;
int main() {
int m, n, x;
cin >> m >> n >> x;
vector<int> a(m);
for (int i = 0; i < m; ++i) {
cin>>a[i];
}
sort(a.begin(), a.end());
int t=0;
for(int i=0;i<m;++i){
int temp = i;
for (int j = 1; j + i < m&&j<n; ++j) {
if (a[i + j] - a[i] <= 2 * x) {
temp = i + j;
}
else {
break;
}
}
t =max(t,a[temp])+2*x;
i = temp;
}
t = t - x;
cout << t;
return 0;
}
全部评论

相关推荐

09-01 16:46
已编辑
门头沟学院 Java
mmvvpp:错了!!给了offer之后还有试用期,试用期过了就完事了?错了!还有每个季度的kpi考核,拿一个c就等着被劝退。那我好好干不拿c不就完了?错了!最多三年劳动合同到期,续不续期未知数。每年都有1800w毕业生毕业,今年你是小萌新蜜月期,明年你是老油条,长江后浪推前浪,前浪死在沙滩上。这就是——互联网!
秋招的破防瞬间
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务