問題一覧 > 通常問題

No.2501 Maximum Inversion Number

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 54
作問者 : suisensuisen / テスター : 👑 emthrmemthrm torisasami4torisasami4 rniyarniya
3 ProblemId : 9886 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2023-09-11 16:00:42

問題文

正整数 $n, m$ と長さ $n$ の非負整数列 $L = (L _ 1, L _ 2, \ldots, L _ n),\ R = (R _ 1, R _ 2, \ldots, R _ n)$ が与えられます。

長さ $m$ の数列 $A = (A _ 1, A _ 2, \ldots, A _ m)$ が よい列 であるとは、次の $2$ つの条件を全て満たすことを言います。

  • 全ての $i \in\lbrace 1, 2, \ldots, m\rbrace$ に対して、$A _ i$ は $1$ 以上 $n$ 以下の整数である。
  • 全ての $x\in\lbrace 1, 2, \ldots, n\rbrace$ に対して、$A _ i = x$ を満たす $i \in\lbrace 1, 2, \ldots, m\rbrace$ の個数は $L _ x$ 以上 $R _ x$ 以下である。

よい列 が存在するかを判定し、存在する場合は よい列 の転倒数としてあり得る最大値を求めてください。

ここで、長さ $k$ の数列 $A = (A _ 1, A _ 2, \ldots, A _ k)$ の転倒数は、$1\leq i \lt j \leq k$ かつ $A _ i \gt A _ j$ を満たす整数組 $(i, j)$ の個数と定義されます。

$T$ 個のテストケースが与えられるので、その全てについて上記の問題を解いてください。

入力

入力は標準入力から以下の形式で与えられる。

まず、$1$ 行目にテストケースの個数 $T$ が以下の形式で与えられる。

$T$

$i\ (1\leq i\leq T)$ 個目のテストケースは $3i - 1, 3i, 3i + 1$ 行目に以下の形式で与えられる。

$n\ m$
$\begin{matrix}
L _ 1 \ L _ 2 \ \cdots\ L _ n \newline
R _ 1 \ R _ 2 \ \cdots\ R _ n
\end{matrix}$
  • 入力は全て整数で与えられる。
  • $1\leq T \leq 2\times 10 ^ 5$
  • $1\leq n \leq 2\times 10 ^ 5$
  • $1\leq m \leq 10 ^ 9$
  • $0\leq L _ i \leq R _ i \leq 10 ^ 9$
  • $T$ 個のテストケースにわたる $n$ の総和は $2\times 10 ^ 5$ 以下である。

出力

$T$ 行出力してください。$i\ (1\leq i\leq T)$ 行目には 、$i$ 個目のテストケースについて、よい列 が存在しない場合は -1 を、存在する場合は よい列 の転倒数としてあり得る最大値を出力してください。

$T$ 行目の出力のあとも改行してください。

サンプル

サンプル1
入力
3
3 3
0 0 2
0 2 3
3 4
1 2 3
4 5 6
2 1000000000
0 0
1000000000 1000000000
出力
2
-1
250000000000000000
  • 1 つめのケースについて

    この入力は $n = 3,\ m = 3,\ L=(0,0,2),\ R=(0,2,3)$ を表します。

    よい列 は $(2,3,3),(3,2,3),(3,3,2),(3,3,3)$ の $4$ つあり、転倒数はそれぞれ $0,1,2,0$ です。従って、答えとして $2$ を出力します。

  • 2 つめのケースについて

    この入力は $n = 3,\ m = 4,\ L=(1,2,3),\ R=(4,5,6)$ を表します。

    よい列 は $1$ つも存在しないので、-1 を出力してください。

  • 3 つめのケースについて

    答えが 32 bit 整数に収まらない場合があります。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。