Problem

Given a, b, c, d, find out the number of pairs of integers (x, y) where a ≤ x ≤ b, c ≤ y ≤ d and x·y is a multiple of 2018.

Input

The input consists of several test cases and is terminated by end-of-file.

Each test case contains four integers a, b, c, d.

Output

For each test case, print an integer which denotes the result.

Constraint

• Qing Jiang felt that the original edition of the test cases is too easy, so he enlarged the scope of data. The current edition is:

• 1 ≤ a ≤ b ≤ 2³¹ - 1, 1 ≤ c ≤ d ≤ 2³¹ - 1

• The number of tests cases is around at 1·10⁵.

Sample Input

1 2 1 2018

1 2018 1 2018

1 1000000000 1 1000000000

Sample Output

3

6051

1485883320325200

/*先找1009的倍数有a个,和2018倍数的有b个,a*偶数,b*任何数,注意:偶数里面也包括2018的倍数,任意数也包括1009的倍数*/
#include<iostream>
using namespace std;
long long all2018(long long xx,long long yy);//用于求两个区间段类含有2018的倍数的数有多个。
long long all1009(long long xx,long long yy,long long all_of_2018);// 用于求两个区间段类含有1009的倍数的数有多少个。
int main(){long long a,b,c,d;while(cin>>a>>b>>c>>d){//x表示含有1009的倍数的数的个数。 //x1表示含有2018的倍数的数的个数。//y表示含有1009的倍数的数的个数。//y1表示含有2018的倍数的数的个数。//all1,all2表示含有偶数的个数。 long long x1,y1,x,y,all1,all2,val;x1=all2018(a,b);y1=all2018(c,d);x=all1009(a,b,x1);y=all1009(c,d,y1);all1=(b-a+1)/2;all2=(d-c+1)/2;if((b==a&&b%2==0)||(b%2==0&&a%2==0))all1++;if((c==d&&c%2==0)||(d%2==0&&c%2==0))all2++;val=x*all2+x1*(d-c+1)+y*all1+y1*(b-a+1)-x1*y1-y*x1-x*y1;cout<<val<<endl;}return 0;
}long long all2018(long long xx,long long yy)
{long long all;all=yy/2018-xx/2018;if(xx>=2018&&yy>=2018){if(xx%2018==0&&yy%2018==0)all++;else if(xx%2018==0&&yy%2018!=0)all++;}return all;
}long long all1009(long long xx,long long yy,long long all_of_2018)
{long long all;all=yy/1009-xx/1009;if(yy>=1009&&xx>=1009){if(xx%1009==0&&yy%1009==0)all++;else if(xx%1009==0&&yy%1009!=0)all++;}return all-all_of_2018;
}

[2018 江苏省大学生程序设计大赛]JSCPC2018K. 2018 (测试数据范围有扩大)相关推荐

  1. 金莹江苏省计算机学会教授,2020年江苏省大学生程序设计大赛在我校举办

    11月15日,2020年江苏省程序设计大赛在河海大学举办.河海大学副校长董增川教授.江苏省计算机学会秘书长金莹教授出席闭幕式并致辞. 河海大学副校长董增川教授在致辞中表示,河海大学不断深化教育教学改革 ...

  2. 2016江苏省大学生程序设计大赛 JSCPC 总结

    这次我们学校派出去了五只队伍,我们作为去年末刚刚参加EC-Final的铜奖队伍,作为了"一队"出战,然而结果却差强人意,最后在本校的5支队里都仅排了第3,竟然差点打铁,老李带的学霸 ...

  3. 怀化学院计算机设计大赛报名系统,怀化学院六十周年校庆第十一届大学生计算机程序设计竞赛暨2018年湖南省第十四届大学生程序设计大赛选拔赛成功举办...

    原标题:怀化学院六十周年校庆第十一届大学生计算机程序设计竞赛暨2018年湖南省第十四届大学生程序设计大赛选拔赛成功举办 比赛 信息 1 比赛名称:怀化学院六十周年校庆第十一届大学生计算机程序设计竞赛暨 ...

  4. 2018年安徽省程序设计大赛题解

    2018年安徽省程序设计大赛参考题解 水平有限错误难免. A: 数7 时间限制:1 s 题目描述: ​ 求整数序列A 中位置L 到R中间一共有多少个7,(每一个位上的7和能被7整除的次数) 输入 第一 ...

  5. 字节跳动杯2018中国大学生程序设计竞赛-女生专场题解

    以下所有AC题解程序来自"仙客传奇"团队. A. 口算训练 题解链接: ABDFHK "字节跳动杯"2018中国大学生程序设计竞赛-女生专场 B. 缺失的数据范 ...

  6. 2018中国大学生程序设计竞赛-网络选拔赛题解

    以下所有AC题解程序来自"仙客传奇"团队. A. Buy and Resell AC的C++语言程序: #include<iostream> #include<c ...

  7. 2020安徽省大学生程序设计大赛题解——A数字排列

    2020安徽省大学生程序设计大赛题解--A数字排列 A 数字排列 给出两个整数A 和 B,可以重新排列A 得到新的数字C(不能有前导0).求在小于等于B的情况下,C的最大值是多少.如果不存在输出-1. ...

  8. 2020安徽省大学生程序设计大赛题解——E 收集圣物

    2020安徽省大学生程序设计大赛题解--E 收集圣物 E 收集圣物 在一个策略游戏中,僧侣单位可以收集圣物,放入修道院中,以生产黄金.因此,圣物对赢得游戏的胜利很重要. 某个僧侣正处于一个长为n 宽为 ...

  9. 2020安徽省大学生程序设计大赛题解——K 农夫打狼

    2020安徽省大学生程序设计大赛题解--K 农夫打狼 K 农夫打狼 题解 标签 排序,动态规划 分析 图K−1本题的一个样例,彩色十字为起点和终点图K-1 \ \ \ \ 本题的一个样例,彩色十字为起 ...

最新文章

  1. visual MySQL 教程_MySql轻松入门系列——第二站 使用visual studio 对mysql进行源码级调试...
  2. R语言ggplot2可视化配置图例(legend)标签色彩的升序或者反序(reverse)实战:ggplot2可视化默认图例标签色彩(升序,颜色越来越深)、可视化配置图例标签颜色反序(颜色越来越浅)
  3. STM32启动文件详解及SystemInit函数分析
  4. JAVA入门级教学之(JAVA程序的加载和运行)
  5. vue 左侧菜单隐藏_vue.js 左侧二级菜单显示与隐藏切换的实例代码?
  6. JAVA编写的一个简单的Socket实现的HTTP响应服务器
  7. java servlet类_[Java教程]与Servlet相关的类
  8. java面试宝典pdf下载_Java面试问答PDF电子书免费下载(250+问题,60页)
  9. Android 代码重构案例
  10. (30 gadget day 8) 你爱我有几分 — Mindwave mobile
  11. 火星坐标系(高德)和84坐标系互换
  12. vue 动态面包屑 通过面包屑带参数跨级跳转 面包屑动态标题 多级路由嵌套设置默认页面和隐藏左侧导航栏显示
  13. JavaScript数据类型 1
  14. 关于个人目标的一篇博客
  15. 推荐一个开源的LMS系统ILIAS
  16. 线段树 hdu3265 Posters
  17. 下载上市公司财报并可视化某科目
  18. MySQL-8.0 RESTART命令远程重启mysqld
  19. 金蝶报表制作_金蝶财务软件报表制作
  20. K8S太火了!花10分钟玩转它不香么,面试必备知识点

热门文章

  1. c语言中0x11是多少,C语言中的符号
  2. mysql获取上月26号_根据当前时间查询上月26号的日期 本月月25号的日期
  3. HTML+CSS仿写京东页面附代码(web前端大作业)
  4. Description 给出一个N*N的二维数组,求出其中的最大数和其所在的行号、列号(均从0开始计算)。 Input 第1行是一个正整数N(2≤N≤10),表示二维数组的大小。后跟N行,每行N个数。
  5. 如何在Google表格中使用QUERY函数
  6. Python实例之调用百度API实现车牌识别
  7. 微信小程序标签页组件
  8. Android Studio实现一个记账本项目
  9. OneDrive容量缩水,微软安抚用户:Office 365免费用一年
  10. 买天猫网店转让成为电商创业新趋势