Bạn Tú muốn mua tặng các bạn món quà nhân dịp họp lớp,Tú muốn mua hai món quà có tổng giá trị lớn nhất và không vượt quá số tiền trong người. Yêu cầu:

Question

Bạn Tú muốn mua tặng các bạn món quà nhân dịp họp lớp,Tú muốn mua hai món quà có tổng giá trị lớn nhất và không vượt quá số tiền trong người.
Yêu cầu: tìm số quà có tổng giá trị lớn nhất,nếu không mua được thì in ra số 0
Dữ liệu vào: nhập N và X
Dữ liệu ra: 1 số nguyên dương ghi ra tổng giá trị lớn nhất
Vd: 4 16
3 10 4 7
In ra 14

in progress 0
Amara 3 tuần 2021-07-11T00:38:34+00:00 2 Answers 2 views 0

Answers ( )

    0
    2021-07-11T00:40:09+00:00

    uses crt;
    var a:array[1..1000] of word;
    n,i,j,x,max:word;
    procedure tinh;
    var t:longint;
    begin
        t:=a[i]+a[j];
        if (t>max) and (t<=x) then
           max:=t;
    end;
    begin
        clrscr;
        readln(n,x);
        for i:=1 to n do read(a[i]);
        readln;
        max:=0;
        for i:=1 to n-1 do
           for j:=i+1 to n do
              tinh;
        writeln(max);
    readln;
    end.

    0
    2021-07-11T00:40:20+00:00

    program pht;
    uses crt;
      var A: array[1..100000000] of longint;
      x, n, max, i, j, t, s, d: longint;
    begin
            clrscr;
            write(‘Nhap so qua: ‘); readln(n);
            write(‘Nhap so tien: ‘); readln(x);
            for i:=1 to n do
            begin
                    write(‘Gia tri qua thu ‘, i, ‘: ‘); readln(A[i]);
            end;
            for i:=1 to n do if A[i]>x then d:=d+1;
            if d=n then write(‘0’) else
            begin
                    max:=A[1];
                    for i:=1 to n do if max>A[i] then max:=A[i];
                    for i:=1 to n do if (max<A[i]) and (A[i]<x) then max:=A[i];
                    for i:=1 to n-1 do
                            for j:=1+i to n do if A[i]<A[j] then
                            begin
                                    t:=A[i];
                                    A[i]:=A[j];
                                    A[j]:=t;
                            end;
                    i:=1;
                    repeat
                    begin
                            s:=0;
                            s:=max+A[i];
                            i:=i+1;
                    end;
                    until s<=x;
                    write(s);
            end;
            readln
    end.

Leave an answer

Browse

35:5x4+1-9:3 = ? ( )