bzoj#P1831. [AHOI2008] 逆序对

[AHOI2008] 逆序对

题目描述

小可可和小卡卡想到 Y 岛上旅游,但是他们不知道 Y 岛有多远。好在,他们找到一本古老的书,上面是这样说的:

下面是 NN 个正整数,每个都在 1K1\sim K 之间。如果有两个数 AABBAABB 左边且 AA 大于 BB,我们就称这两个数为一个“逆序对”。你数一数下面的数字里有多少个逆序对,你就知道Y岛离这里的距离是多少千米了。

比如说,{4,2,1,3,3}\{4,2,1,3,3\} 里面包含了 55 个逆序对:(4,2)(4,2)(4,1)(4,1)(4,3)(4,3)(4,3)(4,3)(2,1)(2,1)

可惜的是,由于年代久远,这些数字里有一部分已经模糊不清了,为了方便记录,小可可用 1-1 表示它们。

比如说,{4,2,1,1,3}\{4,2,-1,-1,3\} 可能原来是 {4,2,1,3,3}\{4,2,1,3,3\},也可能是 {4,2,4,4,3}\{4,2,4,4,3\},也可能是别的样子。

小可可希望你根据他们看清楚的这部分数字,推断出这些数字里最少能有多少个逆序对。

输入格式

第一行两个正整数 NNKK

第二行 NN 个整数,每个都是 1-1 或是一个在 1K1\sim K 之间的数。

输出格式

一个正整数,即这些数字里最少的逆序对个数。

5 4
4 2 -1 -1 3

4

样例说明

{4,2,4,4,3}\{4,2,4,4,3\} 中有 44 个逆序对。当然,也存在其它方案得到 44 个逆序对。

数据规模与约定

100%100\% 的数据中,N10000N\le 10000K100K\le 100

60%60\% 的数据中,N100N\le 100

40%40\% 的数据中,1-1 出现不超过两次。

题目来源

AHOI2008 Day1