Cod sursa(job #893167)
Utilizator | Data | 26 februarie 2013 13:34:26 | |
---|---|---|---|
Problema | Secventa 2 | Scor | 40 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.5 kb |
#include<stdio.h>
using namespace std;
const int maxn=500001;
int n,k,i,s[maxn],minn,maxx,start,is,iff;
int main (){
freopen("secv2.in","r",stdin);
freopen("secv2.out","w",stdout);
scanf("%d %d",&n,&k);
for(i=1;i<=n;i++){
scanf("%d ",&s[i]);
s[i]+=s[i-1];
}
minn=(minn<<31);
maxx=-(maxx<<31);
for(i=k;i<=n;i++){
if(s[i-k]<minn){
minn=s[i-k];
start=i-k+1;}
if(s[i]-minn>maxx){
maxx=s[i]-minn;
is=start;
iff=i;}
}
printf("%d %d %d",is,iff,maxx);
return 0;
}