ASEQUENCE - Kiểm tra dãy số cấp số cộng

View as PDF

Submit solution

Points: 1.00 (partial)
Time limit: 1.0s
Memory limit: 256M

Author:
Problem types
Allowed languages
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Trong toán học, một cấp số cộng (tiếng Anh: arithmetic progression hoặc arithmetic sequence) là một dãy số thoả mãn điều kiện: hai phần tử liên tiếp nhau sai khác nhau một hằng số. Chẳng hạn, dãy số 3, 5, 7, 9, 11, ... là một cấp số cộng với các phân tử liên tiếp sai khác nhau hằng số 2.

Hằng số sai khác chung được gọi là công sai của cấp số cộng. Các phần tử của nó cũng được gọilà các số hạng.

Bài toán được đặt ra cho bạn là: Cho một dãy số gồm ~n~ số hạng, kiểm tra xem dãy đó có phải làcấp số cộng hay không?

Input

  • Dòng đầu tiên chứa một số nguyên dương ~n~ là số lượng số của dãy cần kiểm tra ~(1 ≤ n ≤ 1000000)~.
  • Dòng tiếp theo chứa ~n~ số nguyên ~a_1, a_2, ..., a_n~ biểu thị dãy đó ~(1 ≤ a_i ≤ 10^{18})~.

Output

  • Đưa ra kết quả là "YES" hoặc "NO" (không có dấu ngoặc kép) tương ứng với dãy đó có phải cấp số cộng hay không.

Sample

Input #1
5
1 3 5 7 9
Output #1
YES
Input #2
3
1 10 15
Output #2
NO

Problem source: Kc97ble - Free Contest


Comments

Please read the guidelines before commenting.


There are no comments at the moment.