Cod sursa(job #827186)
Utilizator | Data | 1 decembrie 2012 19:38:23 | |
---|---|---|---|
Problema | Secventa 2 | Scor | 90 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.69 kb |
#include<cstdio>
const int maxn=50001,inf=2>>30;
int s[maxn],k=0,n=0,x=0,i=0,total=-inf,p=0,end=0,begin=1;
int main()
{
freopen("secv2.in","r",stdin);
scanf("%d%d",&n,&k);
for (i=0; i<n; ++i)
{
scanf("%d",&x);
s[i]=s[i-1]+x;
}
fclose(stdin);
end=k-1;
x=0;
for (i=k-1; i<n; ++i)
{
if (s[i]-x>total)
{
total=s[i]-x;
begin=p;
end=i;
}
if (s[i-k+1]<x)
{
x=s[i-k+1];
p=i-k+2;
}
}
freopen("secv2.out","w",stdout);
printf("%d %d %d\n",begin+1,end+1,total);
fclose(stdout);
return 0;
}