CF1878C Vasilije in Cacak

题目描述

Aca 和 Milovan 是两位竞赛程序员,他们决定给 Vasilije 出一道题来考察他的能力。 Vasilije 得到三个正整数:$n$、$k$ 和 $x$,他需要判断是否可以从 $1$ 到 $n$ 之间选择 $k$ 个互不相同的整数,使得它们的和恰好等于 $x$。 由于 Vasilije 现在正身处塞尔维亚最奇怪的城市 Cacak(Aca 和 Milovan 的居住地),这道题对他来说也显得很奇怪。因此他需要你的帮助来解决这个问题。

输入格式

第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例的数量。 每个测试用例的一行包含三个整数 $n$、$k$ 和 $x$($1 \le n \le 2 \times 10^5$,$1 \le k \le n$,$1 \le x \le 4 \times 10^{10}$),分别表示可选的最大元素、要选择的元素个数以及需要达到的和。 注意,所有测试用例中 $n$ 的总和可能超过 $2 \times 10^5$。

输出格式

对于每个测试用例,输出一行:"YES"(如果可以选择 $k$ 个互不相同的整数使它们的和等于 $x$),否则输出 "NO"。 你可以以任意大小写输出答案(例如 "yEs"、"yes"、"Yes" 和 "YES" 都会被判为正确答案)。

说明/提示

在第一个测试用例中,$n = 5,\ k=3,\ x=10$,我们可以选择数字 $2$、$3$、$5$,它们的和为 $10$,所以答案是 "YES"。 在第二个测试用例中,$n = 5, \ k=3, \ x=3$,不存在三个数满足条件,所以答案是 "NO"。可以证明不存在三个数的和为 $3$。 由 ChatGPT 4.1 翻译