Cod sursa(job #1096561)
| Utilizator | Data | 2 februarie 2014 12:25:37 | |
|---|---|---|---|
| Problema | Secventa 2 | Scor | 80 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.77 kb |
#include <fstream>
using namespace std;
ifstream f("secv2.in");
ofstream g("secv2.out");
int n,v[6000009],s,smax,sfmax,incmax,inceput,k;
int main()
{
f>>n; f>>k;
for (int i=1; i<=n; ++i)
f>>v[i];
s=v[1];
smax=v[1];
inceput=1;incmax=sfmax=1;
if (s<0) s=0;
for (int i=2; i<=n; ++i)
{
s=s+v[i];
if (s>smax)
if ((i-inceput+1)>=k)
{
smax=s;
sfmax=i;
incmax=inceput;
}
if (s<0)
{
s=0;
inceput=i+1;
}
}
g<<incmax<<' '<<sfmax<<' '<<smax<<'\n';
f.close(); g.close();
return 0;
}
