Cod sursa(job #362860)
Utilizator | Ion Vlad-Doru vlad.doru | Data | 11 noiembrie 2009 10:33:20 |
---|---|---|---|
Problema | Secventa 2 | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.54 kb |
#include <fstream>
using namespace std;
ifstream in("secv2.in");
ofstream out("secv2.out");
int main(){
int v[1<<16],a[1<<16]={0},i,n,k,sc,i1,i2;
in>>n;
in>>k;
for(i=1;i<=n;i++){
in>>v[i];
}
for(i=1;i<=n;i++){
a[i]=a[i-1]+v[i];
}
int smax=sc=a[k];
i1=1;
i2=k;
int i1m=1,i2m=k;
for(i=k+1;i<=n;i++){
if( sc+v[i] > a[i]-a[i-k]){
sc=sc+v[i];
}
else{
sc=a[i]-a[i-k];
i1=i-k+1;
}
if(smax<sc){
smax=sc;
i1m=i1;
i2m=i;
}
}
out<<i1m<<" "<<i2m<<" "<<smax;
return 0;
}