(invert.*)
Cho dãy số nguyên \(A\) gồm \(N\) số nguyên \(A_{1},A_{2}\ldots,A_{N}\). Ta gọi cặp chỉ số (\(i,\ j\)) là một cặp nghịch thế trên dãy \(A\) nếu thỏa mãn 1 \(\leq i < j \leq N\) và \(A_{i} > A_{j}\).
Có \(Q\) yêu cầu, mỗi yêu cầu cho hai số nguyên \(L,\ R\) với 1 \(\leq L < R \leq N\), xét dãy gồm các số hạng \(A_{L},A_{L + 1},\ldots,A_{R}\). Hãy tính số cặp nghịch thế của dãy số này, tức là tính số cặp chỉ số \((i,\ j)\) thỏa mãn: \(L \leq i < j \leq R\) và \(A_{i} > A_{j}\).
Dữ liệu vào:
Dòng thứ nhất ghi hai số nguyên dương \(N\) và \(Q\).
Dòng thứ hai ghi \(N\) số nguyên \(A_{1},A_{2},\ldots,A_{N}\).
\(Q\) dòng tiếp theo, mỗi dòng ghi hai số nguyên \(L\) và \(R\) (1 \(\leq L < R \leq N\)) ứng với một yêu cầu.
Kết quả: gồm \(Q\) dòng, mỗi dòng là số cặp nghịch thế ứng với mỗi yêu cầu.
Ví dụ:
Input | Output | Giải thích |
---|---|---|
5 2 2 3 1 4 2 1 3 4 5 | 2 1 | Yêu cầu 1: L = 1, R = 3; dãy: A1, A2, A3 = [2, 3, 1], ta có 2 cặp nghịch thế ứng với cặp chỉ số (1, 3), (2, 3). Yêu cầu 2: L = 4, R = 5; dãy: A4, A5 = [4, 2], ta có 1 cặp nghịch thế ứng với cặp chỉ số (4, 5). |
Giới hạn:
2 \(\leq\) \(N\) \(\leq\) 1000;
0 \(\leq\) \(A_{i} \leq 10^{6}\) với \(i\ = \ 1,\ 2,\ 3,\ ...,\ N\);
Có 50% số test ứng với Q = 1; L = 1, R = N;
Có 50% số test ứng với 2 \(\leq\) Q \(\leq 10\); 1 \(\leq L < R \leq N\).
Code tích cực |
---|
Trong 24h |
Trong 7 ngày |
|
Trong 30 ngày |
|
Thống kê |
---|
AC/Sub: 97887/180710 Pascal: 17121 C++: 130348 Python: 33199 Lượt xem/tải tests: 38905 |