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, PyPy, 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

Please read the guidelines before commenting.



  • 0
    taidotai  đã bình luận lúc 27, Tháng 5, 2026, 15:04

    include <bits/stdc++.h>

    using namespace std;

    int main() { int n; cin >> n; vector<long long> a(n); for (int i = 0; i < n; i++) cin >> a[i];

    sort(a.begin(), a.end(), greater&lt;long long>());
    
    long long diff = a[0] - a[1];
    for (int i = 1; i < n - 1; i++) {
        if (a[i] - a[i + 1] != diff) {
            cout << "NO";
            return 0;
        }
    }
    cout << "YES";
    

    }


  • 0
    dekii  đã bình luận lúc 22, Tháng 10, 2025, 11:08

    include <bits/stdc++.h>

    using namespace std;

    int main () { int n; cin>>n; long long a[n] ; for(int i=0;i<n;i++) cin>>a[i] ; int dem=1; long long tmp=a[1]-a[0] ; for(int i=1;i<n-1;i++) { if(a[i+1]-a[i]==tmp){ ++dem; }
    } if(dem==n-1) { cout<<"YES" ; } else cout<<"NO" ; }