Pagini recente » Cod sursa (job #2796491) | Vaporeon | Cod sursa (job #2209302) | Cod sursa (job #1762990) | Cod sursa (job #994784)
Cod sursa(job #994784)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
#define MAX 500002
#define INF 1250000001
int k, n, v[MAX], xmin, xmax;
deque<int> dq;
long long xsum = -INF, smin, smax, s[MAX];
void print(){
cout << endl;
cout << n << " " << k << endl;
for(int i = 1; i <= n; i ++){
cout << v[i] << " ";
}
cout << endl;
cout << xmin << " " << xmax << " " << xsum << endl;
cout << endl;
}
void read(){
ifstream fi("secv2.in");
fi>>n>>k;
for(int i=1;i<=n;i++){
fi >> v[i];
}
fi.close();
}
void write(){
ofstream fo("secv2.out");
fo << xmin << " " << xmax << " " << xsum;
fo.close();
}
void compute(){
s[0] = 0;
smin = INF; smax = -INF;
for(int i=1; i <= n; i++){
s[i] = s[i-1] + v[i];
if(i >= k){
if(smin > s[i-k]) smin = s[i-k], xmin = i - k + 1;
if(s[i] - smin > xsum) xsum = s[i] - smin, xmax = i;
}
}
}
int main(void){
read();
compute();
//print();
write();
return 0;
}