题意 : 一部电影,起始时间是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;
}