CẶP SỐ NGHỊCH THẾ

(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\)\(A_{i} > A_{j}\).

\(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\)\(A_{i} > A_{j}\).

Dữ liệu vào:

  • Dòng thứ nhất ghi hai số nguyên dương \(N\)\(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\)\(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\).

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. nakato (8/16)
  2. tribinh (6/9)
  3. sythai (4/6)
Trong 7 ngày
  1. bao_khanh (61/90)
  2. nakato (46/115)
  3. phamnhi (26/104)
Trong 30 ngày
  1. phamnhi (74/259)
  2. kiennhientv (72/163)
  3. npk1605 (68/96)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 39159

Lưu Hải Phong - 2020
[email protected]