Pagini recente » Cod sursa (job #2551249) | Cod sursa (job #3343704) | Cod sursa (job #1825537) | Cod sursa (job #2088046) | Cod sursa (job #3313819)
#include <fstream>
using namespace std;
using int64 = long long;
ifstream fin ("secv2.in");
ofstream fout ("secv2.out");
const int N_MAX=6e6;
int N, k;
long long a[1 + N_MAX], sum[1+N_MAX];
int main()
{
fin >> N >> k;
for (int i = 1; i <= N; i ++){
fin >> a[i];
sum[i]=sum[i-1]+a[i];
}
int64 minsum = 0, j = 1;
int r = -1000000000;
int st, dr;
for (int i = k; i <= N; i ++) {
if (sum[i] - minsum > r) {
r = sum[i] - minsum;
st = j;
dr = i;
}
else if (sum[i] - minsum == r && j < st) {
st = j;
dr = i;
}
if (minsum > sum[i-k]) {
minsum = sum[i-k];
j = i - k + 1;
}
}
fout << st << " " << dr << " " << r;
return 0;
}