Tổng hiệu

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1400 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho một tập hợp gồm \(n\) số nguyên và số nguyên \(c\). Hãy đếm số cặp \((x, y)\) sao cho \(0 \leq x \leq y \leq c\) và \(x + y\) không xuất hiện trong tập và \(y - x\) cũng không xuất hiện trong tập.

Input

  • Dòng đầu tiên chứa hai số nguyên \(n\) và \(c\) \((1 \leq n \leq 10^5, 0 \leq c \leq 10^9)\).
  • Dòng tiếp theo chứa \(n\) số nguyên \(s_1, s_2, \ldots, s_n\) \((0 \leq s_1 < s_2 < \ldots < s_n \leq c)\) là các phần tử của tập hợp.

Output

  • Một số nguyên duy nhất là số cặp thoả mãn.

Scoring

  • Subtask \(1\) (\(30\%\) số điểm): \(c \leq 10^3\).
  • Subtask \(2\) (\(30\%\) số điểm): \(c \leq 10^6\).
  • Subtask \(3\) (\(40\%\) số điểm): Không có ràng buộc gì thêm.

Example

Test 1

Input
4 6
0 3 5 6
Output
10
Note

Những cặp thoả mãn là \((0,1)\), \((0,2)\), \((0,4)\), \((1,3)\), \((2,6)\), \((3,4)\), \((3,5)\), \((4,5)\), \((4,6)\) và \((5,6)\).

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.