Trang chủ Tin Học Lớp 7 Chia Cặp 1 Xem PDF Tất cả bài nộp Các bài nộp tốt nhất Điểm:100 (thành phần) Thời gian:1.0s Python...
Câu hỏi :

Chia Cặp 1 Xem PDF Tất cả bài nộp Các bài nộp tốt nhất Điểm:100 (thành phần) Thời gian:1.0s Python 33.0s Bộ nhớ:256M Input:bàn phím Output:màn hình Tác giả: cuom1999 Lương Xiao Lin có em gái có mức độ yêu thương lần lượt là . Lương muốn chọn ra cặp em gái rời nhau. Gọi là chênh lệch lớn nhất giữa hai bạn trong một nhóm. Vì nếu chênh lệch mức độ yêu thương giữa 2 em gái quá lớn thì có thể một em sẽ buồn. Lương là anh trai cao cả, Lương không muốn em gái nào phải buồn. Do đó, Lương muốn x càng nhỏ càng tốt. Các bạn hãy tìm giúp Lương nhé, Lương sẽ chia có các bạn 1 em gái nếu các bạn giúp Lương. Input Dòng đầu có 2 số nguyên . Dòng thứ hai có số nguyên Output In ra một số nguyên là kết quả bài toán Scoring Subtask ( số điểm): và . Example Test 1 Input Copy Copy 6 3 1 4 3 7 11 9 Output Copy Copy 3 Note Test 2 Input Copy Copy 6 2 1 4 3 7 11 9 Output Copy Copy 2 Note Test 3 Input Copy Copy 6 1 1 4 3 7 11 9 Output Copy Copy 1 Note chia cặp .

Lời giải 1 :

#include <bits/stdc++.h>
using namespace std;
const int N = 3e5 + 1;
int a[N];
int n , k;
int dem(int x){
    int de = 0;
    for (int i = 2; i <= n; i++)
        if (a[i] - a[i - 1] <= x) 
        de++ , i++;
    return de;
}
int main(){
    cin >> n >> k;
    for (int i = 1; i <= n; i++) 
    cin >> a[i];
    sort(a + 1,a + 1 + n);
    int L = 0 , R = 1e9 , res = 1e9;
    while (L <= R){
        int mid = (L + R) >> 1;
        if (dem(mid) >= k)
        {
            res = mid;
            R = mid - 1;
        }
        else L = mid + 1;
    }
    cout << res;
    return 0;
}

Lời giải 2 :

#include <bits/stdc++.h>

using namespace std;
long long n,a[1000068],q,k,b[1000068],l=0,r,maxx;
long long check(long long mid){
    long long dem=0;
    for(long long i=2;i<=n;i++){
        if(b[i]<=mid){
            i++;
            dem++;
        }
    }
    return (dem>=k);
}
int main()

{
    ios_base::sync_with_stdio(false);
    cout.tie(NULL);
    set<int>s;
    cin>>n>>k;
    for(long long i=1;i<=n;i++) cin>>a[i];
    sort(a+1,a+n+1);
    for(long long i=2;i<=n;i++){
        b[i]=a[i]-a[i-1];
    }
    //for(long long i=2;i<=n;i++){
    //  cout<<b[i]<<" ";
    //}
    r=1e9;
    while(l<=r){
        long long mid=(l+r)/2;
        if(check(mid)){
        r=mid-1;
        maxx=mid;
        }
        else
        l=mid+1;
    }
    cout<<maxx;
    }

Bạn có biết?

Tin học là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng. Tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin. Hãy tận dụng sức mạnh của tin học để giải quyết các vấn đề và sáng tạo ra những giải pháp mới!

Nguồn :

Wikipedia - Bách khoa toàn thư

Tâm sự lớp 7

Lớp 7 - Năm thứ hai ở cấp trung học cơ sở, một chuỗi quay mới lại đến và chúng ta vẫn bước tiếp trên con đường học sinh. Học tập vẫn là nhiệm vụ chính, hãy luôn kiên trì và không ngừng cố gắng!

Nguồn :

sưu tập

Copyright © 2024 Giai BT SGK