Cod sursa(job #2680560)
Utilizator | Andrei Mihailescu Andrei2000 | Data | 3 decembrie 2020 18:45:18 |
---|---|---|---|
Problema | Secventa 2 | Scor | 90 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.71 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("secv2.in");
ofstream fout("secv2.out");
int main()
{
int n,k,v[50005],s[50005],d[50005], ans=-200000000,l[50005],q,qq;
s[0]=d[0]=0;
fin>>n>>k;
for(int i=1;i<=n;++i){
fin>>v[i];
s[i]=s[i-1]+v[i];
if(v[i]+d[i-1]>v[i]){
d[i]=v[i]+d[i-1];
l[i]=l[i-1];
}
else{
d[i]=v[i];
l[i]=i;
}
if(i>k){
s[i]-=v[i-k];
if(s[i]+d[i-k]>ans){
ans=s[i]+d[i-k];
q=l[i-k];
qq=i;
}
}
}
fout<<q<<" "<<qq<<" "<<ans<<"\n";
return 0;
}