T273353 [DILL AKOI R2 A] - dp problem
题目背景
# 若您使用 `cin`,请务必加上 `cin.tie(0)->sync_with_stdio(0);`。
注意:Subtask $0$ 为 $\texttt{\_hsh}$ 所造, Subtask $1$ 为 $\texttt{初雪\_matt}$ 所造的 hack 数据。
------------
$\texttt{Time\_Complexity}$ 同学正在研究 $\text{TimeComplexity}$。
她拿到了一题:
>给定一个正整数 $n$,和一个长度为 $n$ 的正整数序列。
>
>你可以在数组中选择两个数,让任意一个数变成这两个数的和,这三个数下标不能相同,数组里的每个数都在 $[1, 5]$ 范围内。
>
>判断在若干次操作以后,能不能使所有数都小于等于 $t$。
>
>要求在 $O(2^n)$ 的复杂度完成。
$\texttt{Time\_Complexity}$:太简单了,我搜索一下,把全部情况枚举一遍就行了。
于是她又拿了道题:
>给定一个正整数 $n$,和一个长度为 $n$ 的正整数序列。
>
>你可以在数组中选择两个数,让任意一个数变成这两个数的和,这三个数下标不能相同,数组里的每个数都在 $[1, 10^9]$ 范围内。
>
>判断在若干次操作以后,能不能使所有数都小于等于 $t$。
>
>要求在 $O(n \log n)$ 的复杂度完成。
$\texttt{Time\_Complexity}$:太简单了,只要随便写就行了。
于是她又拿了道题:
>给定一个正整数 $n$,和一个长度为 $n$ 的正整数序列。
>
>你可以在数组中选择两个数,让任意一个数变成这两个数的和,这三个数下标不能相同,数组里的每个数都在 $[1, 10^9]$ 范围内。
>
>判断在若干次操作以后,能不能使所有数都小于等于 $t$。
>
>要求在 $O(n)$ 的复杂度完成。
$\texttt{Time\_Complexity}$:太简单了,只要$\cdots$
完蛋了,她发现她不会。
题目描述
你需要帮她完成这道题:
给定一个正整数 $n$,和一个长度为 $n$ 的正整数序列。
你可以在数组中选择两个数,让任意一个数变成这两个数的和,这三个数下标不能相同。
判断在若干次操作以后,能不能使所有数都小于等于 $t$。
输入格式
第一行,一个正整数 $n$。
第二行,一个正整数 $t$。
第三行,$n$ 个正整数 $a_i$。
输出格式
若可以,输出 `Yes`,否则输出 `No`。
说明/提示
### 样例解释 #1
不用操作。
### 样例解释 #2
- 将 $a_3$ 变成 $a_1 + a_2$,序列变成 $[{\color{blue}1}, {\color{blue} 1}, {\color{red} 2}, 5, 1, 4]$。
- 将 $a_4$ 变成 $a_1 + a_5$,序列变成 $[{\color{blue} 1}, 1, 2, {\color{red}2}, {\color{blue}1}, 4]$。
此时,符合要求。
### 数据规模及约定
数据保证 $10\le n\le 10^6, 1\le t\le 10^9+7,1\le a_i\le 10^{9}$。
若您的代码复杂度正确但是 TLE,请尝试使用更快的读入方式。