Cod sursa(job #1516265)
Utilizator | Beleca Andrei Andrei_21 | Data | 2 noiembrie 2015 21:40:49 |
---|---|---|---|
Problema | Secventa 2 | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.59 kb |
#include<fstream>
using namespace std;
const int nmax=50005;
int a[nmax],s[nmax],mn[nmax];
ifstream f("secv2.in");
ofstream g("secv2.out");
int main()
{
int n,k;
f>>n>>k;
for(int i=1;i<=n;i++)
f>>a[i];
for( int i=1;i<=n;i++)
s[i]=s[i-1]+a[i];
for(int i=1;i<=n;i++)
if(s[i]<s[mn[i-1]])
mn[i]=i;
else
mn[i]=mn[i-1];
int max1=-999999,dr,st;
for(int i=k;i<=n;i++)
if(s[i]-s[mn[i-k]]>max1)
{
max1=s[i]-s[mn[i-k]];
dr=i;
st=mn[i-k]+1;
}
g<<st<<" "<<dr<<" "<<max1;
return 0;
}