题意介绍
众所周知,ZJM 住在 B 站。
这一天 Q 老师来找 ZJM 玩,ZJM 决定向 Q 老师展现一下自己快速看番的本领。
ZJM 让 Q 老师任意挑选了一部番,Q老师一眼看中了《辉夜大小姐想让我告白》,已知这部番一共有 N 个精彩片段,每个精彩片段用 [L[i], R[i]] 来表示。
ZJM 从第一分钟开始看,每次可以按下快进键,快进 X 分钟,问 ZJM 最快需要多久可以看完这部番。
题意分析
将所有时间段进行排序,然后观察每一个时间间隔,对快进时间取余的间隔不能快进的时间,然后加上每一个时间段的时间即为所求。
通过代码
#include<bits/stdc++.h>
using namespace std;
#define maxn 102
int n, x, line[maxn],l,r;
int pre = 1,ans;
int main() {
cin >> n >> x;
int count = 0;
for (int i = 0; i < n; i++) {
cin >> l >> r;
line[count++] = l;
line[count++] = r;
ans += (r - l + 1);
}
sort(line, line + count);
for (int i = 0; i < count-1; i+=2) {
if (i == 0) {
int temp = (line[0] - 1 - 1 + 1) % x;
ans += temp;
}
else {
int temp = ((line[i] - 1) - (line[i - 1] + 1) + 1) % x;
ans += temp;
}
}
cout << ans << endl;
return 0;
}