链接:https://ac.nowcoder.com/acm/contest/3947/C
来源:牛客网
题目描述
Nancy喜欢学习,也喜欢看电视。
为了想了解她能看多长时间的节目,不妨假设节目从时刻1开始,一直播放到时刻6×10100。每个节目持续50个时刻,节目与节目间会有10个时刻的广告时间。
然而,Nancy实在是太忙了,她从t1时刻开始观看,观看至t2时刻,请你帮忙计算她有多少个时刻能欣赏到电视节目。
为了想了解她能看多长时间的节目,不妨假设节目从时刻1开始,一直播放到时刻6×10100。每个节目持续50个时刻,节目与节目间会有10个时刻的广告时间。
然而,Nancy实在是太忙了,她从t1时刻开始观看,观看至t2时刻,请你帮忙计算她有多少个时刻能欣赏到电视节目。
输入描述:
若干行:每行两个整数t1与t2。
数据满足:1≤t1≤t2≤1018。
输出描述:
若干行:每行一个整数,表示能品味电视节目的时刻数。
示例1
输入
1 61
输出
51
示例2
输入
116969978 507978500 180480072 791550396 139567120 655243745 1470545 167613747 57644034 176077476 44676 56984808 215706822 369042088 108368065 320914746
输出
325840433 509225275 429730516 138452673 98694536 47450113 127779387 177122232
纪念一下卡我心态的一道题,以后这种题不会再犯傻了
计算[1,r]的答案减去[1,l-1]的答案即可,不过需要注意其端点可能在广告的时刻。
1 #include <stdio.h> 2 #include <string.h> 3 #include <iostream> 4 #include <string> 5 #include <math.h> 6 #include <algorithm> 7 #include <vector> 8 #include <stack> 9 #include <queue> 10 #include <set> 11 #include <map> 12 const int INF=0x3f3f3f3f; 13 typedef long long LL; 14 const int maxn=1e5+10; 15 using namespace std; 16 17 LL solve(LL n) 18 { 19 return n/60*50+(n%60<=50?n%60:50); 20 } 21 22 int main() 23 { 24 25 LL t1,t2; 26 while(~scanf("%lld %lld",&t1,&t2)) 27 { 28 printf("%lld ",solve(t2)-solve(t1-1)); 29 } 30 31 return 0; 32 }
-