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

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
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


Bình luận

Hãy đọc nội quy trước khi bình luận.



  • -2
    nhantrong  đã bình luận lúc 9, Tháng 1, 2024, 7:56

    include <bits/stdc++.h>

    using namespace std; long long n,i,a[1000001],k=0,j,d=0; int main() { cin>>n; for(i=1;i<=n;i++) cin>>a[i]; k=a[2]-a[1]; for(i=2;i<=n;i++) if(k==a[i]-a[i-1]) d++; if (d==n-1) cout<<"YES"; else cout<<"NO"; }


  • 0
    hohoanghai5042011  đã bình luận lúc 14, Tháng 10, 2023, 8:10

    ez!!!


    • 1
      Mechamaru  đã bình luận lúc 5, Tháng 12, 2023, 3:20

      don't say it gg is enough