Pagini recente » Cod sursa (job #769813) | Cod sursa (job #2100942) | Cod sursa (job #821956) | Cod sursa (job #2999290) | Cod sursa (job #2714870)
#include <fstream>
#include <deque>
using namespace std;
int n, k, st, dr;
int a[50001];
const int Inf = 2e9;
int smax = -Inf, sumatot;
void read() {
int i;
ifstream f("secv2.in");
f >> n >> k;
for (i = 1; i <= n; i++)
f >> a[i];
f.close();
}
void solve() {
int i, init;
int S = 0;
init = 1;
for (i = 1; i <= n; i++) {
sumatot += a[i];
S += a[i];
if (S > smax && i - init >= k) {
smax = S;
st = init;
dr = i;
}
if (S < 0) {
init = i + 1;
S = 0;
}
}
}
void output() {
ofstream g("secv2.out");
if (smax == -Inf)
g << 1 << ' ' << n << ' ' << sumatot;
else
g << st << ' ' << dr << ' ' << smax;
g.close();
}
int main() {
read();
solve();
output();
return 0;
}