关注
将楼主的代码稍微排了下版, 然后跑了几个测试样例都过了, 不清楚实际能不能 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
相关推荐
点赞 评论 收藏
分享
05-11 11:58
中国矿业大学 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 我的实习收获 #
25963次浏览 451人参与
# 如果有时光机,你最想去到哪个年纪? #
46854次浏览 795人参与
# 实习吐槽大会 #
27521次浏览 132人参与
# 非技术岗简历怎么写 #
209389次浏览 2856人参与
# 晒一晒你的工位 #
84635次浏览 301人参与
# 我的租房踩坑经历 #
22230次浏览 247人参与
# 打工人的工作餐日常 #
40322次浏览 343人参与
# 穿越回高考你还会选现在的专业吗 #
18998次浏览 238人参与
# 毕业旅行去哪玩儿 #
1068次浏览 32人参与
# 怎么防止在试用期被辞退 #
122197次浏览 910人参与
# 双非能在秋招上岸吗? #
214809次浏览 1133人参与
# 26届秋招投递记录 #
1502次浏览 39人参与
# 2025牛客秋招季 #
1507次浏览 41人参与
# 携程求职进展汇总 #
530718次浏览 3957人参与
# 夸夸我的求职搭子 #
190899次浏览 1891人参与
# 实习中的菜狗时刻 #
368225次浏览 3304人参与
# 工作压力大怎么缓解 #
79414次浏览 936人参与
# 今年形式下双非本找得到工作吗 #
141845次浏览 1070人参与
# 我的第一份实习怎么找的 #
108119次浏览 1064人参与
# 打工人锐评公司红黑榜 #
145471次浏览 908人参与