var n,i,j,x,k,y,max:longint; a,f,min:array[0..100001] of int64; procedure nhap; begin readln(n); for i:=1 to n do read(a[i]); end; procedure tinh_f; begin f[0]:=0; for i:=1 to n do f[i]:=f[i-1]+a[i]; end; end; procedure tinh_min; begin min[0]:=0; for i:=1 to n do If f[i]<f[min[i-1]] then min[i]:=i else min[i]:=min[i-1]; end; procedure giai; begin i:=min[n];j:=n; repeat while (i<j) and (f[j]-f[i]<=0) do dec(j); IF j-i>max then begin max:=j-i; x:=i; y:=j; end; IF i=0 then break; i:=min[i-1]; until false; write(x+1,' ',y); end; begin assign(input,'PS.inp');reset(input); assign(output,'PS.out');rewrite(output); nhap; tinh_f; tinh_min; giai; 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
PS 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.