Nhân dịp kết thúc năm học đạt kết quả cao, bé An được bố và mẹ hứa mỗi người sẽ thưởng cho một con gấu bông được mua từ siêu thị Byteland. Hiện tại siêu thị có 𝑛 con gấu bông được đánh chỉ số từ 1 đến 𝑛, con gấu bông thứ 𝑖 có giá trị là một số nguyên dương 𝑎𝑖 (1 ≤ 𝑎𝑖 ≤10^6, 1 ≤ 𝑖 ≤ 𝑛). An muốn chọn mua hai con gấu bông có giá trị khác nhau. Yêu cầu: Tính tổng giá trị lớn nhất của hai con gấu bông mà bé An có thể mua được. Dữ liệu vào: Đọc từ tệp văn bản CAU3.INP có cấu trúc như sau: dòng đầu tiên ghi số nguyên dương 𝑛. Dòng thứ hai ghi lần lượt 𝑎1, 𝑎2, … , 𝑎𝑛 cách nhau một dấu cách. Kết quả: Ghi ra tệp văn bản CAU3.OUT một số duy nhất là tổng giá trị lớn nhất của hai con gấu bông bé An có thể mua được. Nếu không thể mua được như mong muốn thì ghi −1. Ví dụ: CAU3.INP CAU3.OUT 5 7 2 4 3 4 3 5 -1 2 2 2 2 2

2 câu trả lời

uses crt;
var max1, max2, i, n, a: longint;
begin
    readln(n);
    for i:=1 to n do begin
        read(a);
        if a > max1 then begin
            max2:=max1;
            max1:=a;
        end else if (max2 < a) and (a <> max1) then max2:=a;
    end;
    
    if (n = 1) or (max2 = 0) then begin
        writeln(-1);
        exit;
    end;
    writeln(max1 + max2);
end.

uses math;
var a:array[0..trunc(1e6+7)] of longint;
    nmax,n2,n,i:longint;
begin
assign(input,'cau3.inp');reset(input);
assign(output,'cau3.out');rewrite(output);
 readln(n);
nmax:=-maxlongint;
n2:=-maxlongint;
for i := 1 to n do
  begin
    read(a[i]);
    nmax:=max(nmax,a[i]);
  end;
for i := 1 to n do
if (n2 < a[i]) and (a[i] < nmax) then n2 := a[i];
if n2 = -maxlongint then writeln(-1) else writeln(nmax+n2);
close(input);close(output);
end.














Câu hỏi trong lớp Xem thêm