Cod sursa(job #1446311)
Utilizator | Data | 1 iunie 2015 14:11:51 | |
---|---|---|---|
Problema | Secventa 2 | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.7 kb |
#include<fstream>
#define nmax 50005
using namespace std;
int n,k,limD,limS,s[nmax];
int main()
{
ifstream f("secv2.in");
ofstream g("secv2.out");
f>>n>>k;
for(int i=1;i<=n;i++)
{
f>>s[i];
s[i]+=s[i-1];
}
int kMin=0;
int sMom=-int(2e9);
int sMin=0;
int lMin=0;
int limD=k;
int limS=1;
for(int i=k;i<=n;i++)
{ lMin=limD-limS+1;
if(s[i]-sMin>sMom&&lMin>=k)
{
sMom=s[i]-sMin;
limS=kMin+1;
limD=i;
}
if(s[i-k+1]<sMin)
{
sMin=s[i-k+1];
kMin=i-k+1;
}
}
g<<limS<<" "<<limD<<" "<<sMom;
return 0;
}