题解 CF499A 【Watching a movie】
2024-08-29 20:46:32
题意
看一部电影,从第一分钟开始看,你每次可以按下快进键,快进x分钟,电影有n个精彩片段,问看到所有精彩片段至少需要看多少分钟电影。(数据保证能看到所有精彩片段)
我们可以发现答案其实
就是间隔时间%x+精彩片段时间
拿第一个样例
1 2 3 4 5 6 7 8 9 10 11 12
5 6 10 11 12这三分钟一定要选,我们在第1分钟可以跳过到达第4分钟(1,2,3跳过了),在第6分钟结束时跳到第10分钟答案就是6分钟。
那么可以写出公式
ans+=(l[i]-r[i-1]-1)%x;
ans+=r[i]-l[i]+1;
由于从第一分钟开始看需要特判,我们可以将r[0]=0便可(至于为什么是0而不是1,可以自己画图看看,不做证明),由于全局变量本身就是0,就不需要赋值
代码
#include<bits/stdc++.h>
using namespace std;
int n,x,l[60],r[60],ans;
int main(){
scanf("%d %d",&n,&x);
for(int i=1;i<=n;++i){
scanf("%d %d",&l[i],&r[i]);
}
for(int i=1;i<=n;++i){
ans+=(l[i]-r[i-1]-1)%x;
ans+=r[i]-l[i]+1;
}
printf("%d",ans);
return 0;
}
最新文章
- Oracle中的约束
- linux 终止用户会话
- 获取设备、APP的一些信息
- 第三人称角色移动及自由移动视野(RigidBody实现)
- JavaSE的基础语法之标识符:
- vs2017开发IOS(vs2017 xamarin 连接mac)
- 【webpack学习笔记】a03-管理输出
- 学习poisson.c
- 新ubuntu系统装软件
- Unity3D-RayMarch-几何图元0
- Mysql支持哪几种索引
- C#基础(string)
- CodeForces - 669D
- Eclipse生成jar文件
- Android开发资料
- ITOO之底层关系
- Linux内核设计第一周学习总结 计算机如何工作
- vs开发工具报错:参数错误 异常来自 HRESULT:0x80070057 E_INVALIDARG
- vue学习(转载)
- 差分ADC到单端ADC