关注
将楼主的代码稍微排了下版, 然后跑了几个测试样例都过了, 不清楚实际能不能 ac #include <iostream>
#include <vector>
using namespace std;
int main() {
int N, M;
cin >> N >> M;
vector<pair<int, int>> time(N);
int s, t;
for (int i = 0; i < N; i++) {
cin >> s >> t;
if (s >= t) t += M;
time[i] = make_pair(s, t);
}
sort(time.begin(), time.end(), [](pair<int, int>& p1,
pair<int, int>& p2) {
return (p1.second == p2.second) ?
p1.first > p2.first :
p1.second < p2.second;
});
int bound = time[0].second;
int max_watch = 0;
for(int i = 0; i < N; i++) {
// 我们需要找的不同的起点, 绝对是在第一个遍历的 end 之前,
// 如果在起点在第一个遍历的 end 之后, 岂不是丢掉了 time 中第一个元素, 肯定不是最大值
if (time[i].first >= bound) {
break;
}
int start_time = time[i].first;
int cur_time = time[i].second;
int watch = 1;
for (int j = i+1; j < N; j++) {
if (time[j].first < cur_time) {
continue;
}
cur_time = time[j].second;
if (cur_time > start_time + M) {
break;
} else
watch++;
}
max_watch = max(max_watch, watch);
}
cout << max_watch << endl;
return 0;
}
查看原帖
点赞 1
相关推荐
03-28 19:11
铜陵学院 C++ 点赞 评论 收藏
分享
03-12 18:48
上海大学 FPGA工程师 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 商战,最累的是我们 #
2348次浏览 20人参与
# 租房找室友 #
18597次浏览 116人参与
# 职场新人生存指南 #
309804次浏览 6403人参与
# 你上一次加班是什么时候? #
54779次浏览 378人参与
# 深信服求职进展汇总 #
182129次浏览 1673人参与
# 学历or实习经历,哪个更重要 #
103182次浏览 721人参与
# 机械人选offer,最看重什么? #
86285次浏览 536人参与
# 秋招想进国企该如何准备 #
52682次浏览 353人参与
# 2023届毁约公司名单 #
186559次浏览 935人参与
# 携程求职进展汇总 #
469789次浏览 3461人参与
# 哪些公司面试官让你印象深刻? #
253288次浏览 2665人参与
# 大疆求职进展汇总 #
482183次浏览 3199人参与
# 查收我的offer竞争力报告 #
171865次浏览 1023人参与
# 产品面经 #
170323次浏览 1895人参与
# 通信硬件公司评价 #
122682次浏览 405人参与
# 如果可以,你希望哪个公司来捞你 #
73651次浏览 321人参与
# 秋招最大的收获是什么? #
26151次浏览 275人参与
# 实习要如何选择和准备? #
63471次浏览 1042人参与
# 联想求职进展汇总 #
254452次浏览 1997人参与
# 摸鱼被leader发现了怎么办 #
52846次浏览 325人参与