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\)\(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\)\(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)\)\((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.