Pagini recente » Cod sursa (job #2284583) | Cod sursa (job #2264770) | Rating Matei Rares Cristian (RaresMatei) | Cod sursa (job #482664) | Cod sursa (job #1010345)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("secv2.in");
ofstream g ("secv2.out");
int n, k, v[50002], m[50002];
void initializeaza ()
{
f>>n>>k;
int x;
for (int i=1; i<=n; i++)
{
f>>x;
v[i]=v[i-1]+x;
if (v[i]<v[m[i-1]]) m[i]=i;
else m[i]=m[i-1];
}
}
void rezolva ()
{
int smax=v[k], s, i0, i1;
i0=1; i1=k;
for (int i=k+1; i<=n; i++)
{
if (v[i]>smax) {smax=v[i]; i0=1; i1=i;}
s=v[i]-v[m[i-k+1]];
if (s>smax) {smax=s; i0=m[i-k+1]+1; i1=i;}
}
g<<i0<<' '<<i1<<' '<<smax<<'\n';
}
int main ()
{
initializeaza ();
rezolva ();
}