Pagini recente » Cod sursa (job #1346334) | Cod sursa (job #668302) | Cod sursa (job #641029) | Cod sursa (job #2207652) | Cod sursa (job #1142135)
#include <fstream>
using namespace std;
ifstream f("secv2.in");
ofstream g("secv2.out");
int n,k,v[50001],s[50001];
struct {int beg, end;}a[50001];
int main()
{
f>>n>>k;
int j,smax=-1250000000,i;
s[0]=0;
for(i=1;i<=k;i++){
f>>v[i];
s[i]=s[i-1]+v[i];
}
a[k].beg=1;
a[k].end=k;
for(i=k+1;i<=n;i++){
f>>v[i];
if(s[i-1]+v[i]<s[i-1]+v[i]-v[i-k]){
a[i].beg=i-k+1;
a[i].end=i;
s[i]=s[i-1]+v[i]-v[i-k];
}
else{
a[i].beg=a[i-1].beg;
a[i].end=i;
s[i]=s[i-1]+v[i];
}
/*if(suma ultimilor k...){
s=0;
ind=i;
}
s+=x;
if(s>smax && i-ind+1>=k){
smax=s;
beg=ind;
end=i;
}
*/
}
for(i=k;i<=n;i++)
if(s[i]>smax){
j=i;
smax=s[i];
}
g<<a[j].beg<<" "<<a[j].end<<" "<<s[j]<<"\n";
return 0;
}