var i,j:longint; n,t:int64; a,b,left,r:array[0..100000] of int64; function min(x,y:int64):int64; begin if x<=y then exit(x) else exit(y); end; procedure nhap; var i:longint; begin readln(n); for i:=1 to n do read(a[i]); end; procedure giai; begin //L[i] = max(a[1],a[2],...,a[i]) left[1]:=a[1]; for i:=2 to n do if a[i]>left[i-1] then left[i]:=a[i] else left[i]:=left[i-1]; //R[i] = max(a[i],a[i+1],...,a[n]); r[n]:=a[n]; for i:=n-1 downto 1 do if a[i]>r[i+1] then r[i]:=a[i] else r[i]:=r[i+1]; //tinh b[i]= so nuoc dong tren cot i for i:=1 to n do if min(l[i-1],r[i+1])>a[i] then b[i]:=min(l[i-1],r[i+1])-a[i] else b[i]:=0; //cot 1 va cot n chac chan khong co nuoc dong t:=0; for i:=2 to n-1 do t:=t+b[i]; writeln(t); end; begin assign(input,'water.inp'); reset(input); assign(output,'water.out');rewrite(output); nhap; giai; close(input);close(output); end.
* Chuyên dạy lập trình ONLINE cho học sinh THCS, THPT *.
Mọi giao lưu, trao đổi, xin liên hệ: Lê Quang Vinh - zalo: 037.803.8755.
Page: Lớp học Code Sky
Group FB1: Ôn thi HSG9 - THTB - TS10 chuyên tin
Group FB2: Học Scratch - Ôn thi Tin học trẻ bảng A
Thứ Ba, 3 tháng 5, 2022
WATER PASCAL
Đăng ký:
Đăng Nhận xét (Atom)
Không có nhận xét nào:
Đăng nhận xét
Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.