Cod sursa(job #640063)
Utilizator | Data | 24 noiembrie 2011 18:10:09 | |
---|---|---|---|
Problema | Secventa 2 | Scor | 90 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.55 kb |
#include<iostream>
#include<fstream>
#include<limits.h>
using namespace std;
ifstream in("secv2.in");
ofstream out("secv2.out");
int n,smax=INT_MIN,st,end;
int main(){
int i,j,sc=0,x,dif,smin=0,imin=0,k;
in>>n>>k;
for(i=1; i<=n; i++){
in>>x;
sc+=x;
dif=sc-smin;
if(dif>smax && i-imin+1>=k){
smax=dif;
st=imin+1;
end=i;
}
else
if(dif==smax && i-imin+1>=end-st+1){
smax=dif;
st=imin+1;
end=i;
}
if(sc<smin){
smin=sc;
imin=i;
}
}
out<<st<<" "<<end<<" "<<smax;
return 0;
}