Pagini recente » Cod sursa (job #1013181) | Cod sursa (job #102929) | Cod sursa (job #1468769) | Cod sursa (job #2357673) | Cod sursa (job #1828183)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("secv2.in");
ofstream out("secv2.out");
const int NMAX = 50000;
const int INF =(1<<30);
int n,k;
long long int v[NMAX+2];
long long int sp[NMAX+2];
long long int mp[NMAX+2];
long long int st,dr,xmin;
void solve()
{
long long int sol=-INF;
for(int i=n;i>k-1;i--)
{
long long int p=sp[i]-mp[i-k+1];
if(p>=sol)
{
dr=i;
xmin=mp[i-k];
sol=p;
}
}
for(int i=dr-k;i>0;i--)
{
if(sp[i]==xmin)
{
st=i+1;
break;
}
}
out<<st<<" "<<dr<<" "<<sol;
}
int main()
{
in>>n>>k;
mp[0]=INF;
for(int i=1;i<=n;i++)
{
in>>v[i];
sp[i]=sp[i-1]+v[i];
mp[i]=min(mp[i-1],sp[i]);
}
solve();
return 0;
}