E. ít con voi và Inversionsgiới hạn thời gian cho một test2 giâygiới hạn bộ nhớ mỗi test256 MBinputstandard đầu vàooutputstandard đầu raCon voi nhỏ có mảng một, bao gồm của số nguyên dương n, lập chỉ mục từ 1 đến n. Hãy biểu thị số với chỉ số tôi là ai.Con voi nhỏ muốn đếm, bao nhiêu cặp số nguyên l và r đang có, như vậy là 1 ≤ l < r ≤ n và trình tự b = a1a2... alarar + 1... một có không nhiều hơn k inversions.Một đảo ngược trình tự b là hai yếu tố của chuỗi b, mà thay đổi thứ tự tương đối của họ sau khi một phân loại ổn định của dãy. Nói cách khác, là một đảo ngược là một cặp số nguyên i và j, sao cho 1 ≤ tôi < j ≤ |b| và bi > bj, nơi |b| là chiều dài của chuỗi b, và bj là yếu tố j-th của nó.Giúp con voi nhỏ và đếm số lượng các cặp được mô tả.Đầu vàoDòng đầu tiên chứa hai số nguyên n và k (2 ≤ n ≤ 105, 0 ≤ k ≤ 1018) — kích thước mảng tối đa một và các phép số inversions tương ứng. Dòng kế tiếp có n số nguyên dương, ngăn cách bởi duy nhất tại toàn, a1, a2,..., một (1 ≤ ai ≤ 109) — các yếu tố của mảng một.Xin vui lòng, không sử dụng % lld specifier để đọc hoặc viết số nguyên 64-bit trong C ++. Nó được ưa thích để sử dụng cin, cout suối hoặc % I64d specifier.Đầu raTrong một dòng in một số duy nhất-câu trả lời cho vấn đề.Mẫu test(s)đầu vào3 11 3 2đầu ra3đầu vào5 21 3 2 1 7đầu ra6
đang được dịch, vui lòng đợi..
