{"trustable":true,"sections":[{"title":"","value":{"format":"HTML","content":"\u003cimg src\u003d\"CDN_BASE_URL/b3530eaa8fa98ef394d3639722240a8c?v\u003d1706298117\" align\u003d\"right\"\u003e在这个问题中,你需要分析一个特定的排序算法。该算法通过交换相邻的序列元素来处理一系列n个不同的整数,直到序列按升序排序为止。对于输入序列\r\u003cbr\u003e\u003ccenter\u003e9 1 0 5 4 , \u003c/center\u003e\r\u003cbr\u003eUltra-QuickSort 产生的输出为\r\u003cbr\u003e\u003ccenter\u003e0 1 4 5 9 . \u003c/center\u003e\r\u003cbr\u003e你的任务是确定Ultra-QuickSort需要执行多少次交换操作才能对给定的输入序列进行排序。"}},{"title":"输入","value":{"format":"HTML","content":"输入包含多个测试用例。每个测试用例以包含一个整数n \u0026lt; 500,000的行开始,表示输入序列的长度。接下来的n行中,每行包含一个整数0 ≤ a[i] ≤ 999,999,999,表示第i个输入序列元素。输入以长度n \u003d 0的序列终止。这个序列不应被处理。"}},{"title":"输出","value":{"format":"HTML","content":"对于每个输入序列,你的程序应打印一行,包含一个整数op,表示对给定输入序列进行排序所需的最小交换操作次数。"}},{"title":"样例","value":{"format":"HTML","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e5\r\n9\r\n1\r\n0\r\n5\r\n4\r\n3\r\n1\r\n2\r\n3\r\n0\r\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e6\r\n0\r\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e"}}]}