PERFECT - Cặp đôi hoàn hảo

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

Để tăng cường môi trường "Trường học thân thiện, Học sinh tích cực", ngày ~26/3~ năm nay Sở Giáo dục và Đào tạo tổ chức cuộc thi "Cặp đôi hoàn hảo" với sự tham gia là các trường THPT trong Tỉnh. Để tham gia, mỗi trường cử hai em học sinh của trường mình đi thi. Luật thi rất đơn giản: Cặp đôi nào có chênh lệch chiều cao giữa hai học sinh nhỏ nhất sẽ chiến thắng.

Trường của bạn có ~n~ học sinh đánh số từ ~1~ đến ~n~, học sinh thứ ~i~ có chiều cao là một số nguyên dương ~h_i~. Bạn hãy giúp trường bạn chọn cặp đôi "hoàn hảo" để đi thi nhé.

Input

  • Dòng đầu chứa số nguyên dương ~n~;
  • Dòng thứ hai chứa ~n~ số nguyên dương ~h_1, h_2, …, h_n~.

Hai số liên tiếp trên một dòng được ghi cách nhau một dấu cách.

Giới hạn:

  • ~1 ≤ n ≤ 10^5; 1 ≤ h_i ≤ 10^9~.

Output

  • Ghi trên một dòng số nguyên là chênh lệch chiều cao nhỏ nhất của hai bạn học sinh được chọn.

Sample

Input #1
5
150 155 161 172 170
Output #1
2

Hint

Xét #1, ta chọn hai học sinh số ~4~ và số ~5~ đi thi sẽ có chênh lệch chiều cao nhỏ nhất bằng ~2~.

Problem source: Chuyên Sơn La Online Judge


Bình luận

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



  • 0
    kietjumper  đã bình luận lúc 27, Tháng 3, 2025, 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()); 
        long long best = LONG_MAX; 
    
        for(int i = 0; i < n - 1; i++)
        {
            best = min(best, a[i+1] - a[i]);
        }
        cout << best;
        return 0; 
    
    }
    
    

  • 0
    lqvinh13  đã bình luận lúc 19, Tháng 3, 2025, 9:18 chỉnh sửa

    các bạn có thể sắp xếp mảng từ bé đến lớn,sau đó dùng for chạy từ n-1 về 2 vd như mình:

    for(i=n-1;i>1;i--) 
    
    {
    
        s=min((a[i]-a[i-1]),s);
    
    }
    
     cout<&lt;s;
    

    phần chạy từ n-1 về 2 đây nhé


  • -1
    fansatij10  đã bình luận lúc 13, Tháng 1, 2025, 3:11

    RTE mn ơi


  • -1
    hhieu474  đã bình luận lúc 23, Tháng 10, 2024, 14:18

    ez vl


    • -1
      fansatij10  đã bình luận lúc 13, Tháng 1, 2025, 3:11

      làm sao thế bro, tui bị RTE


  • -2
    super_god  đã bình luận lúc 8, Tháng 10, 2024, 2:52

    hello ae


  • -2
    phinguyen18  đã bình luận lúc 8, Tháng 8, 2024, 13:58

    bai này dùng abs min đc k các bác


  • -2
    lunalight12345  đã bình luận lúc 15, Tháng 2, 2024, 11:20

    Mấy bác giúp e bị tle case cuối mặc dù e đã sort+duyệt tìm min tới n ạ


    • -5
      Docladongnai  đã bình luận lúc 18, Tháng 7, 2024, 12:21

      Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


  • -2
    quocanh  đã bình luận lúc 10, Tháng 2, 2024, 18:04

    mọi người cho mình xin test case 2 với ạ


  • -1
    vdtue  đã bình luận lúc 14, Tháng 9, 2023, 12:57

    test 4 là gì v


    • -3
      nagihus  đã bình luận lúc 8, Tháng 11, 2023, 11:21

      bác làm được test 4 chưa bác


      • -1
        tuanori  đã bình luận lúc 13, Tháng 11, 2023, 12:35 chỉnh sửa

        Đừng có nói với tôi là bạn sort xong rồi, lấy 2 số lớn nhất và lớn nhì trừ cho nhau nhé. Vậy là sai rồi đấy