Cod sursa(job #2738436)
| Utilizator | Data | 5 aprilie 2021 20:42:09 | |
|---|---|---|---|
| Problema | Secventa 2 | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.65 kb |
#include <fstream>
using namespace std;
ifstream cin("secv2.in");
ofstream cout("secv2.out");
int v[50001],sp[50001],p[50001],sm[50001];
int main()
{
int n,k;
cin>>n>>k;
for(int i=1;i<=n;i++)
{
cin>>v[i];
sp[i]=sp[i-1]+v[i];
sm[i]=max(sm[i-1]+v[i],v[i]);
if(sm[i]==v[i])
p[i]=i;
else p[i]=p[i-1];
}
int smax=sp[k],p1=1,p2=k;
for(int i=k+1;i<=n;i++)
{
int s=sp[i]-sp[i-k+1]+sm[i-k+1];
if(s>smax)
{
smax=s;
p1=p[i-k+1];
p2=i;
}
}
cout<<p1<<" "<<p2<<" "<<smax;
return 0;
}
