CF121D.Lucky Segments

省选/NOI-

通过率:0%

时间限制:4.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Petya loves lucky numbers. Everybody knows that lucky numbers are positive integers whose decimal representation contains only the lucky digits 4 and 7. For example, numbers 47, 744, 4 are lucky and 5, 17, 467 are not.

Petya has n number segments [_l_1; _r_1], [_l_2; _r_2], ..., [l__n; r__n]. During one move Petya can take any segment (let it be segment number i) and replace it with segment [l__i + 1; r__i + 1] or [l__i - 1; r__i - 1]. In other words, during one move Petya can shift any segment to the left or to the right by a unit distance. Petya calls a number full if it belongs to each segment. That is, number x is full if for any i (1 ≤ i ≤ n) the condition l__i ≤ x ≤ r__i is fulfilled.

Petya makes no more than k moves. After that he counts the quantity of full lucky numbers. Find the maximal quantity that he can get.

佩蒂亚喜欢幸运数字。众所周知,幸运数字是指十进制表示中仅包含幸运数字 4 和 7 的正整数。例如,47、744、4 是幸运数字,而 5、17、467 不是。

佩蒂亚有 nn 个数轴上的线段:[l1;r1][l_1; r_1]、[l2;r2][l_2; r_2]、…、[ln;rn][l_n; r_n]。在一次操作中,佩蒂亚可以任选一个线段(设为第 ii 个线段),并将其替换为 [li+1;ri+1][l_i + 1; r_i + 1] 或 [li−1;ri−1][l_i - 1; r_i - 1]。换言之,每次操作中,佩蒂亚可将任意一个线段向左或向右平移一个单位长度。佩蒂亚称一个数为完备数,如果它属于所有线段。即,数 xx 是完备数当且仅当对任意 ii(1≤i≤n1 \le i \le n)均满足 li≤x≤ril_i \le x \le r_i。

佩蒂亚最多进行 kk 次操作。操作完成后,他统计完备的幸运数字的个数。求他所能得到的最大个数。

输入格式

The first line contains two integers n and k (1 ≤ n ≤ 105, 1 ≤ k ≤ 1018) — the number of segments and the maximum number of moves. Next n lines contain pairs of integers l__i and r__i (1 ≤ l__i ≤ r__i ≤ 1018).

Please do not use the %lld specificator to read or write 64-bit integers in С++. It is preferred to use the %I64d specificator.

第一行包含两个整数 nn 和 kk(1 ≤ n ≤ 1051 ≤ n ≤ 10^5,1 ≤ k ≤ 10181 ≤ k ≤ 10^{18})—— 分别表示线段的数量和最大移动次数。接下来的 nn 行每行包含一对整数 lil_i 和 rir_i(1 ≤ li ≤ ri ≤ 10181 ≤ l_i ≤ r_i ≤ 10^{18})。

在 C++ 中读写 64 位整数时,请勿使用 %lld 格式说明符。推荐使用 %I64d 格式说明符。

输出格式

Print on the single line the single number — the answer to the problem.

在单行上输出一个数字——即该问题的答案。

输入输出样例

  • 输入#1

    4 7
    1 4
    6 9
    4 7
    3 5

    输出#1

    1
  • 输入#2

    2 7
    40 45
    47 74

    输出#2

    2

说明/提示

In the first sample Petya shifts the second segment by two units to the left (it turns into [4; 7]), after that number 4 becomes full.

In the second sample Petya shifts the first segment by two units to the right (it turns into [42; 47]), and shifts the second segment by three units to the left (it turns into [44; 71]), after that numbers 44 and 47 become full.

在第一个样例中,Petya 将第二个区间向左平移 2 个单位(变为 [4; 7]),之后数字 4 变为“满的”。

在第二个样例中,Petya 将第一个区间向右平移 2 个单位(变为 [42; 47]),并将第二个区间向左平移 3 个单位(变为 [44; 71]),之后数字 44 和 47 变为“满的”。

输入解题思路,AI测评打分。不知道怎么写?

首页