Bạn chưa đăng nhập. Vui lòng đăng nhập để hỏi bài
Ẩ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)

 

Jack Nguyen
23 tháng 4 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;
}

Thanh Nghị Nguyễn
4 tháng 5 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.")

Các câu hỏi tương tự
Nguyễn Quốc Việt
Xem chi tiết
Duy Đức Anh Nguyễn
Xem chi tiết
Nguyễn Cảnh Hùng
Xem chi tiết
Minh Nguyệt Điêu
Xem chi tiết
Nguyễn Cảnh Hùng
Xem chi tiết
Nguyễn Cảnh Hùng
Xem chi tiết
Nguyễn Cảnh Hùng
Xem chi tiết
Nguyễn Cảnh Hùng
Xem chi tiết
Triệu Nguyễn
Xem chi tiết
Truc Khoa
Xem chi tiết