Pagini recente » Cod sursa (job #791794) | Cod sursa (job #2300667) | Cod sursa (job #2777794) | Cod sursa (job #1488036) | Cod sursa (job #1955019)
#include <fstream>
using namespace std;
ifstream f("secv2.in");
ofstream g("secv2.out");
int main()
{
short numere[50001],corect=false;
long long suma[50001],n,k,minn,maxx,beg,fin,smax=-2e15,inc=1,sf=0;
f>>n>>k>>numere[1];
suma[1]=numere[1];
maxx=suma[1];minn=suma[1];
for(int i=2;i<=n;i++)f>>numere[i],suma[i]=suma[i-1]+numere[i];
while(sf<n)
{
maxx=-50000,minn=50000;
for(int i=sf+1;i<=n;i++)
if(suma[i]>=maxx)maxx=suma[i],sf=i;
for(int i=inc;i<=sf-k;i++)
if(suma[i]<minn)minn=suma[i],inc=i;
if(suma[sf]-suma[inc]>smax&&sf-inc+1>=k)
smax=suma[sf]-suma[inc],beg=inc,fin=sf;
}
g<<beg+1<<" "<<fin<<" "<<smax<<"\n";
f.close();
g.close();
return 0;
}