【链接】 我是链接,点我呀:)

【题意】

【题解】

![](https://img2018.cnblogs.com/blog/1251265/201811/1251265-20181114102634106-1195481374.png)
![](https://img2018.cnblogs.com/blog/1251265/201811/1251265-20181114102641042-105691369.png)

题解的作者: manish_joshi

对于任意一个k

因为那条直线(关于x,y的方程可以看出一条直线)的斜率>=

所以肯定会经过第一象限。

因此总是能得到一个k1,k2>=0

连续的1的起点尽可能接近。

【代码】

#include <bits/stdc++.h>
#define LL long long
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
#define rep1(i,a,b) for (int i = a;i <= b;i++)
#define rep2(i,a,b) for (int i = a;i >= b;i--)
using namespace std; const int N = 1e5; LL la,ra,ta;
LL lb,rb,tb; int main(){
//freopen("D:\\rush.txt","r",stdin);
scanf("%lld%lld%lld",&la,&ra,&ta);
scanf("%lld%lld%lld",&lb,&rb,&tb);
if (la>lb){
swap(la,lb);
swap(ra,rb);
swap(ta,tb);
}
//la <= lb
/*
st1 = la + k1*t1
st2 = lb + k2*t2
dif = st2-st1
= lb-la+k2*t2-k1*t1 = 0 lb-la+k2*t2=k1*t1
t1*k1=k2*t2+lb-la dir = lb-la+k*gcd(t1,t2)
la-lb=k*gcd(t1,t2);
k = (la-lb)/gcd(t1,t2);
*/
LL temp1 = la-lb;
LL temp2 = __gcd(ta,tb);
if (temp1%temp2==0){
LL ans = min(rb-lb+1,ra-la+1);
printf("%lld\n",ans);
}else{
double temp = 1.0*temp1/temp2; LL len1 = ra-la+1,len2 = rb-lb+1;
LL k = (LL) (ceil(temp)); LL delta = lb-la+k*__gcd(ta,tb); LL aa = 1,bb = len1,cc = 1+delta,dd = delta+len2;
LL ans = 0;
ans = max(ans,min(bb,dd)-max(aa,cc)+1); k = (LL) (floor(temp));
delta = lb-la+k*__gcd(ta,tb);
aa = 1,bb = len1,cc = 1+delta,dd = delta+len2;
ans = max(ans,min(bb,dd)-max(aa,cc)+1); printf("%lld\n",ans);
}
return 0;
}

【Mail.Ru Cup 2018 Round 2 C】 Lucky Days的更多相关文章

  1. 【Mail.Ru Cup 2018 Round 2 A】 Metro

    [链接] 我是链接,点我呀:) [题意] [题解] 1:一直往右走的情况. 2:中间某个地方中转 (不会出现超过1次的转弯. (如果超过了和1次是等价的 [代码] #include <bits/ ...

  2. 【Mail.Ru Cup 2018 Round 2 B】 Alice and Hairdresser

    [链接] 我是链接,点我呀:) [题意] [题解] 因为只会增加. 所以. 一开始暴力算出来初始答案 每次改变一个点的话. 就只需要看看和他相邻的数字的值就好. 看看他们是不是大于l 分情况增加.减少 ...

  3. Mail.Ru Cup 2018 Round 2 Problem C Lucky Days

    设在第 $x$ 天二人都 lucky,则有 $\DeclareMathOperator{\lcm}{lcm}$ $ x = y_a t_a + R_a $ $ x= y_b t_ b + R_b$ 约 ...

  4. [题解]Mail.Ru Cup 2018 Round 1 - D. Changing Array

    [题目] D. Changing Array [描述] 给n个整数a[1],...,a[n],满足0<=a[i]<=2^k-1.Vanya可以对这n个数中任一多个数进行操作,即将x变为x' ...

  5. [题解]Mail.Ru Cup 2018 Round 1 - C. Candies Distribution

    [题目] C. Candies Distribution [描述] n个小朋友排排坐吃糖糖,小朋友从左到右编号1到n.每个小朋友手上有一定数量的糖.对于第i个小朋友来说,编号比他小的小朋友中有li个小 ...

  6. [题解]Mail.Ru Cup 2018 Round 1 - B. Appending Mex

    [题目] B. Appending Mex [描述] Ildar定义了一种方法,可以由一个数组产生一个数.具体地,从这个数组中任选一个子集,不在这个子集中的最小的非负整数称为mex,就是由这个数组得到 ...

  7. [题解]Mail.Ru Cup 2018 Round 1 - A. Elevator or Stairs?

    [题目] A. Elevator or Stairs? [描述] Masha要从第x层楼去第y层楼找Egor,可以选择爬楼梯或者坐直升电梯.已知爬楼梯每层需要时间t1:坐直升电梯每层需要时间t2,直升 ...

  8. Mail.Ru Cup 2018 Round 3 B. Divide Candies

    题目链接 分析一下题意可以得到题目要求的是满足下面这个 公式的不同的i,ji,ji,j的方案数; 即(i2+j2)mod&ThinSpace;&ThinSpace; m=0 (n ≤  ...

  9. Mail.Ru Cup 2018 Round 3

    A:签到 #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> # ...

随机推荐

  1. ElasticSearch源码解析(五):排序(评分公式)

    ElasticSearch源码解析(五):排序(评分公式) 转载自:http://blog.csdn.net/molong1208/article/details/50623948   一.目的 一个 ...

  2. bzoj4004 [JLOI2015]装备购买——线性基+贪心

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4004 今天讲课讲到的题,据说满足拟阵的性质,所以贪心是正确的: 总之就贪心,按价格从小到大排 ...

  3. sql小计合计

    转自:http://www.jb51.net/article/18860.htm 这里介绍sql server2005里面的一个使用实例: CREATE TABLE tb(province nvarc ...

  4. Fishnet(几何)

    http://poj.org/problem?id=1408 题意:给出 a1 a2 ... an                b1 b2 ... bn                c1 c2 . ...

  5. GYM 100741A Queries(树状数组)

    A. Queries time limit per test 0.25 seconds memory limit per test 64 megabytes input standard input ...

  6. Python 30 单例模式

    单例模式 多次实例化的结果指向同一个实例 单例模式实现方式 import settings #方式一: class MySQL: __instance=None def __init__(self,i ...

  7. Hbuilder 移动app

    ==========代码行快捷方法========== div*4div[class=""]*4div[id=""]*4 tr*4tr{<div>w ...

  8. A - Supermarket

    Problem description We often go to supermarkets to buy some fruits or vegetables, and on the tag the ...

  9. Dotnet Core2.1 使用CodeFirst

    一.添加Mysql引用 二.添加连接字符串 三.配置startup.cs 三.初始化数据库 Add-Migration init Update-Database 四.数据迁移 user实体添加了pas ...

  10. Retrofit 传递json 和 复杂参数类型List<T>

    1 首先你要定义一个接口 @POST Call<String> post(@Url String url, @Body String info); 2 创建一个service public ...