Cod sursa(job #1466047)
Utilizator | Danut Gabriel Matei mateidanut | Data | 28 iulie 2015 15:51:38 |
---|---|---|---|
Problema | Secventa 2 | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.52 kb |
#include <fstream>
using namespace std;
int a[50001], s[50001], pmin[50001], n, k;
ifstream f("secv2.in");
ofstream g("secv2.out");
int main()
{ f>>n>>k;
int i, mini=0;
for (i=1; i<=n; ++i)
{ f>>a[i];
s[i]=s[i-1]+a[i];
if (s[i]<mini)
{ mini=s[i];
pmin[i]=i;
}
else
pmin[i]=pmin[i-1];
}
int maxi=-2000000000, st, sf;
for (i=k; i<=n; ++i)
if (maxi<s[i]-s[pmin[i-k]])
{ maxi=s[i]-s[pmin[i-k]];
st=pmin[i-k]+1;
sf=i;
}
g<<st<<' '<<sf<<' '<<maxi<<'\n';
return 0;
}