Pascal
Modified: Wednesday, 22-12-2021 07:00 AM
Cho Input là mảng có N số nguyên
Với 1<N<=10^6 và mỗi giá trị có trị tuyệt đối không lớn hơn 40.000 (|a[i]| <= 40000)
Output là tích nhỏ nhất tạo bỏi 2 số bất kì trong mảng
Minp.INP | Minp.OUT |
---|---|
3 1 -2 3 |
-6 |
program tich_be_nhat;
const inp='minp.inp';out = 'minp.out';
var i,n:longint;
min:int64;
f:text;
a:array[1..1000000] of longint;
// Sap xep mang
procedure Sort(A : array of longint; size : integer);
var i, j, index : integer;
begin for i := 2 to size-1 do begin index := A[i];
j := i;
while ((j > 1) and (A[j-1] > index)) do begin
A[j] := A[j-1];
j := j - 1;
end;
A[j] := index;
end;
end;
// doc file
procedure DocFile;
var j:longint;
begin
assign(f,inp);
reset(f);
readln(f,n);
for i:= 1 to n do begin read(f,j);
a[i]:=j;
end;
close(f);
end;
// tim tich nho nhat
procedure TimMin;
begin
min := a[1]*a[2];
if min>a[n]*a[n-1] then min:=a[n]*a[n-1];
if min>a[1]*a[n] then min:=a[1]*a[n];
assign(f,out);
rewrite(f);
write(f,min);
close(f);
end;
// Main
begin DocFile();
Sort(A,N);
TimMin();
write('Tich nho nhat la: ',min);
readln;
end.