codeforce Problem 499A. watching a movie

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">Codeforces 499A. Watching a movie</span>

翻译

问题描述

  你决定看一部电影中最精彩的部分.这里有两个按钮让你选择:

  1. 看当前这分钟的电影.通过按这个键,你可以看当前这分钟的电影并且播放器会自动跳到下一分钟.
  2. 跳过电影的 x 分钟(x是正整数).如果现在电影停在第t 分钟,当按下这个键以后,它会跳到第 t + x 分钟.

  将电影初始化为从第一分钟播放,你想看电影中 n 个最精彩的片段.第 i 个精彩的片段从第 li 分钟开始到 ri 分钟结束(更一般的情况是, 第 i 个最精彩的片段时间是:li, li+1, ..., ri).

  求如果你想看所有精彩的片段,你最少要看多少分中的电影.

Input

  第一行包含两个用空格分开的整数 n,x(1 <= n <= 50, 1<= x <= 10^5 )---- 电影中精彩片段的数量以及第二个按钮跳过的分钟数.

  接下来的 n 行数据是对精彩片段时间的描述,第 i 行包含两个空格隔开的整数 li,ri (1<=li<=ri<=10^5)

  输入保证对于 i 当 i>=2 都满足 ri-1 < li .   

Output

  输出一行,问题的答案.   

Note

输出为1, 判断当前是否可以跳过,如果不能跳过就一分钟一分钟的看.

注意随时更新当前的时间.

/* Codeforces 499A. Watching a movie */

#include <stdio.h>

int main(){
    int n, x, l, r;
    int cur = 1, ans = 0;
    scanf( "%d %d", &n, &x );
    for( int i = 0; i < n; i++ ){
        scanf( "%d %d", &l, &r );
        while( cur + x <= l )
            cur += x;
        ans += r - cur + 1;
        cur = r + 1;
    }
    printf( "%d\n", ans );
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值