CF1420A Cubes Sorting

题目描述

拜托了,你们可是长着腿的箱子!你们唯一的用途就是这个!走到按钮上!你们怎么连自己被设计出来的唯一一件事都做不好?哦,这很好笑,是吗?很好笑?因为我们已经搞了十二个小时了,你也没解决,所以我不知道你为什么在笑。你还有一个小时!解决它! Wheatley 决定尝试制作一个测试间。他做了一个很棒的测试间,但只有一个细节缺失——立方体。 为了完成测试间,Wheatley 需要 $n$ 个立方体。第 $i$ 个立方体的体积为 $a_i$。 Wheatley 必须将立方体按体积非递减顺序摆放。形式化地说,对于每个 $i>1$,都必须满足 $a_{i-1} \le a_i$。 为此,他可以交换任意两个相邻的立方体。也就是说,对于任意 $i>1$,你可以交换第 $i-1$ 个和第 $i$ 个立方体。 但问题是:Wheatley 非常没有耐心。如果需要超过 $\frac{n \cdot (n-1)}{2}-1$ 次交换操作,他就不会做这件无聊的事情。 Wheatley 想知道:在这样的条件下,能否将立方体排序?

输入格式

每组测试数据包含多组测试用例。 第一行包含一个正整数 $t$($1 \le t \le 1000$),表示测试用例的数量。接下来是每组测试用例的描述。 每个测试用例的第一行包含一个正整数 $n$($2 \le n \le 5 \cdot 10^4$),表示立方体的数量。 第二行包含 $n$ 个正整数 $a_i$($1 \le a_i \le 10^9$),表示每个立方体的体积。 保证所有测试用例中 $n$ 的总和不超过 $10^5$。

输出格式

对于每个测试用例,输出一行单词:“YES”(不带引号),如果可以在规定次数内将立方体排序,否则输出 “NO”。

说明/提示

在第一个测试用例中,可以通过 $7$ 次交换将所有立方体排序。 在第二个测试用例中,立方体已经排好序。 在第三个测试用例中,我们不能进行任何交换,但立方体还没有排好序,所以答案是 “NO”。 由 ChatGPT 4.1 翻译