Pagini recente » Cod sursa (job #420255) | Cod sursa (job #1860415) | Cod sursa (job #67597) | Cod sursa (job #2120513) | Cod sursa (job #1933644)
#include <fstream>
using namespace std;
ifstream fin("secv2.in");
ofstream fout("secv2.out");
long long p_s[500001] ,n,mini[500001],ma,mic,poz,k,ok;
void read()
{ int i,x;
fin>>n>>k;
mini[0]=15151511;
for(i=1; i<=n; i++)
{ fin>>x;
p_s[i]=p_s[i-1]+x;
mini[i]=min(mini[i-1],p_s[i]);
}
}
void determin()
{ int i,j;
for(i=k; i<=n; i++)
{
if(p_s[i]-mini[i-k+1]>ma && p_s[i]-mini[i-k+1]>p_s[i])
{ ma=p_s[i]-mini[i];
mic=mini[i];
ok=1;
poz=i;
}
else
if( p_s[i]-mini[i-k+1]<=p_s[i] && p_s[i]>ma)
{ma=p_s[i];
ok=2;
poz=i;
}
}
}
int main()
{ read();
determin();
if(ok==1)
{
for(int i=1; i<=n; i++)
if(mini[i]==mic)
{fout<<i+1<<" ";
break;
}
}
else
fout<<1<<" ";
fout<<poz<<" "<<ma;
}