溜冰(c++题解)

题目描述

诚诚和勤勤去一个由  座小山丘组成的海滨小镇度假。从海岸看去, 座山丘排成一列,第  座山丘到海岸的距离为  米。在每座山丘顶上各有一个溜冰场。所有溜冰场每天同时开放,但它们的关闭时间是不同的。第  座溜冰场开放  分钟。

诚诚和勤勤将在这里停留  天。他们热爱溜冰,希望在小镇上停留的每一天都以溜冰度过。在第  天的开始,他们距离海岸  米。当滑雪场开放的同时,他们开始他们的溜冰之旅。他们需要走去滑雪场,走路的速度为每分钟  米。

他们的身体非常好,因此他们不需要额外时间来爬山。一旦他们到达山顶的溜冰场,他们可以滑任意长的时间,直到溜冰场关闭。然而,下山并不像上山一样容易,因为下雨,山路非常湿滑,他们需要消耗  的时间走下第  座山。从一座山上下来后,他们可以前往另一座山。

诚诚和勤勤想知道每天他们最长可以溜冰多久的时间。每天他们可以访问任意多座溜冰场。因为他们想用尽可能多的时间溜冰,用尽可能少的时间计算,所以他们向你寻求帮助。帮助他们解决这个问题。

请注意:如果诚诚和勤勤早晨出发的位置就有一座山,他们在山脚。

输入格式

第一行包含两个整数 (),表示山的数量和天数。

接下来  行,第  行包含三个整数 (),分别表示第  座山到海岸的距离、溜冰场的关闭时间和下山所需的时间。

第三行包含  个整数 (),表示诚诚和勤勤第  天出发时到海岸的距离。

输出格式

输出一行  个整数,第  个整数表示第  天诚诚和勤勤可以溜冰的最长时间。

样例输入 #1

样例

样例1输入

复制3 1
3 7 0
6 11 3
10 13 5
1

样例1输出

复制6

样例1解释

诚诚和勤勤在位置  出发,走  分钟到位置  的山,并溜冰  分钟。接着花费  分钟时间下山,继续走  分钟时间到位置  山上的溜冰场,溜冰  分钟后,溜冰场。他们一共溜冰  分钟。

样例2输入

复制3 2
5 10 3
3 6 1
1 5 0
0 3

样例2输出

复制5 8

样例3输入

复制1 3
3 3 3
0 1 2

样例3输出

复制0 1 2

_____________________________________________________________________________

写作不易,点个赞呗!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 

_____________________________________________________________________________

#include <bits/stdc++.h>
#define int long long
using namespace std;
int n,m,c,s;
int x[1000005];
int y[1000005];
int l[1000005];
struct node{
	int l;
	int t;
}a[1000005];
bool cmp(node x,node y){return x.l<y.l;}
signed main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>a[i].l>>a[i].t>>s;
		l[i]=a[i].l;
	}
	sort(a+1,a+1+n,cmp);
	sort(l+1,l+1+n);
	x[0]=y[n+1]=-2e9;
	for(int i=1;i<=n;i++){
		x[i]=max(a[i].t+a[i].l,x[i-1]);
	}
	for(int i=n;i>=1;i--){
		y[i]=max(a[i].t-a[i].l,y[i+1]);
	}
	while(m--){	
		cin>>c;
		int xx=lower_bound(l+1,l+n+1,c)-l;
		cout<<max(x[xx-1]-c,y[xx]+c)<<" ";
	}
}

 

相关推荐

  1. 修改字符串(c++题解)

    2024-04-20 16:36:04       58 阅读
  2. 配方(c++题解)

    2024-04-20 16:36:04       55 阅读
  3. 肿瘤面积(c++题解)

    2024-04-20 16:36:04       50 阅读
  4. 扫雷游戏(c++题解)

    2024-04-20 16:36:04       70 阅读
  5. 乘船问题(c++题解)

    2024-04-20 16:36:04       51 阅读
  6. 窗口(c++题解)

    2024-04-20 16:36:04       38 阅读
  7. 扫雷(c++题解)

    2024-04-20 16:36:04       39 阅读
  8. 关系网络(c++题解)

    2024-04-20 16:36:04       30 阅读
  9. 门票问题(c++题解)

    2024-04-20 16:36:04       34 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-20 16:36:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-20 16:36:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-20 16:36:04       87 阅读
  4. Python语言-面向对象

    2024-04-20 16:36:04       96 阅读

热门阅读

  1. GO的安装和配置

    2024-04-20 16:36:04       32 阅读
  2. 大数运算(加法和除法)

    2024-04-20 16:36:04       41 阅读
  3. 远程服务连接

    2024-04-20 16:36:04       36 阅读
  4. 车联网安全发展形势、挑战与建议

    2024-04-20 16:36:04       33 阅读
  5. C++list类(个人笔记)

    2024-04-20 16:36:04       34 阅读
  6. 【无标题】

    2024-04-20 16:36:04       33 阅读
  7. WPF常用技巧-防止系统休眠

    2024-04-20 16:36:04       34 阅读
  8. 学习 Rust 的第七天:如何理解引用

    2024-04-20 16:36:04       35 阅读