题意 : 一部电影,起始时间是1, 现在想看n个区间内的内容,有两种操作,第一种快进t 秒, 第二种,1s 1s看。
思路: 快进到不能快进为止。 贪心思想,注意下看完某个区间后的时间t=r+1
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
struct node
{
int l,r;
} movie[60];
int main(void)
{
int n,x;
cin >> n>> x;
int t=1;
for(int i=1; i<=n; i++)
scanf("%d%d",&movie[i].l,&movie[i].r);
int ans=0;
for(int i=1; i<=n;)
{
if(t+x > movie[i].l)
{
ans+=movie[i].r-t+1;
t=movie[i].r+1;
i++;
}
else
t+=x;
}
cout << ans << endl;
}