Ẩn danh

Mọi người giúp mình bài tập này với!

(Trích câu 2, đề thi Tin học trẻ bảng B - THCS TP. Hà Nội năm 2023)

 

JN
23 tháng 4 2024 lúc 17:40

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
    int n, t;
    cin >> n >> t;
    vector<int> arr(n);
    for (int i = 0; i < n; i++) {
        cin >> arr[i];
    }
    sort(arr.begin(), arr.end());

    int bestSum = 0;
    double bestDiff = 1e9;
    for (int i = 0; i < n - 2; i++) {
        for (int j = i + 1; j < n - 1; j++) {
            for (int k = j + 1; k < n; k++) {
                int sum = arr[i] + arr[j] + arr[k];
                double average = static_cast<double>(sum) / 3.0;
                double diff = abs(average - t);

                if (diff < bestDiff || (diff == bestDiff && sum > bestSum)) {
                    bestDiff = diff;
                    bestSum = sum;
                }
            }
        }
    }

    cout << bestSum << endl;

    return 0;
}

Bình luận (0)
TN
4 tháng 5 2024 lúc 15:42

Nếu bn dùng Python thì mình gửi nha:

A=[] N=int(input("Nhập số phần tử trong list A: ")) while N >100:     N=int(input("Nhập số phần tử trong list A: ")) while N < 3:     N=int(input("Nhập số phần tử trong list A: ")) i=0 for i in range(N):     A.append(int(input('Nhap so thu %d: ' % (i+1)))) print(A) T=int(input("Nhập T: ")) i=0 j=i+1 k=j+1 kq=abs(((A[i]+A[j]+A[k])/3)) chenhlech=0 chenhlech_1=abs(((A[i]+A[j]+A[k])/3)-T) tongcapmoi= A[i]+A[j]+A[k] i=0 tongcapmoi=0 for i in range (0, len(A)-2):     for j in range (i+1, len(A)-1):         for k in range (j+1, len(A)):             tongcap=abs(A[i]+A[j]+A[k])             trungbinh=abs(((tongcap)/3))             chenhlech=abs(trungbinh-T)             if chenhlech <= chenhlech_1:                 if tongcap > tongcapmoi and chenhlech==chenhlech_1:                     tongcapmoi=tongcap                     a=A[i]                     b=A[j]                     c=A[k]                                     else :                     if tongcap <tongcapmoi :                         tongcapmoi=tongcap                         a=A[i]                         b=A[j]                         c=A[k]                                         chenhlech_1=chenhlech print(a+b+c, " là tổng của ba số trong danh sách thỏa mãn yêu cầu nhất.")
Bình luận (0)

Các câu hỏi tương tự
NV
Xem chi tiết
DN
Xem chi tiết
NH
Xem chi tiết
MD
Xem chi tiết
NH
Xem chi tiết
NH
Xem chi tiết
NH
Xem chi tiết
NH
Xem chi tiết
TN
Xem chi tiết
TK
Xem chi tiết