T1
题目描述
小羊们上完课后,纷纷到草场上吃草。而羊村现在正在进行特色示范羊村检查,领导们想看看羊村的草场。
羊村的草场是连续分布的,每块草场上都有数量不等的羊在吃草。领导们想要查看连续若干个草场,但是又不想看到超过T只羊。而村长希望领导们多看看羊村的风貌,尽可能多参观几个草场。
现在,请你帮村长决定,带领导们去参观哪一段草场,满足领导和村长的要求。
输入
第一行一个整数N和T,表示羊村共有多少个连续草场,以及领导们希望看到羊数量的最大值。
第二行N个整数,两个整数间用一个空格分开,第i个数ai表示第i个草场上有ai只羊在吃草。编号从1到N。
输出
输出一行,共两个数,表示参观的起点编号和终点编号,中间用空格分开。走的方向总是从编号小的到编号大的。另外,若有长度相同的可能性,输出起点编号较小的答案。数据保证至少有答案存在。
uses math;
var a:array[0..100011] of int64;
n,x,i,j,l,r:longint;
t,ans:int64;
begin
assign(input,'eat.in');
assign(output,'eat.out');
reset(input);
rewrite(output);
read(n,t);
for i:=1 to n do
begin
read(x);
a[i]:=a[i-1]+x;
end;
ans:=0; i:=0;
while i<n-ans do
begin
inc(i);
for j:=i+ans to n do
if a[j]-a[i-1]<=t then
begin
ans:=max(ans,j-i+1);
l:=i; r:=j;
end else break;
end;
write(l,' ',r);
close(input);
close(output);
end.