Pagini recente » Cod sursa (job #475806) | Cod sursa (job #2360998) | Cod sursa (job #377782) | Cod sursa (job #2738911) | Cod sursa (job #1854723)
#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 sp[NMAX+2];
long long int mp[NMAX+2];
long long int st=1,dr,xmin;
void solve()
{
mp[0]=0;
long long int sol=-INF;
for(int i=n;i>=k;i--)
{
long long int p=sp[i]-mp[i-k];
if(p>sol)
{
if(mp[i-k]<0)
sol=p;
else
sol=sp[i];
dr=i;
}
}
int sum=0;
for(int i=dr-k;i>=0;i--)
{
if(sp[dr]-sp[i]==sol)
{
st=i+1;
break;
}
}
out<<st<<" "<<dr<<" "<<sol;
}
int main()
{
in>>n>>k;
mp[0]=INF;
long long x;
for(int i=1;i<=n;i++)
{
in>>x;
sp[i]=sp[i-1]+x;
mp[i]=min(mp[i-1],sp[i]);
cout<<sp[i]<<" "<<mp[i]<<'\n';
}
solve();
return 0;
}