Pagini recente » Cod sursa (job #1937024) | Cod sursa (job #115698) | Cod sursa (job #1133572) | Cod sursa (job #1327568) | Cod sursa (job #337059)
Cod sursa(job #337059)
#include<stdio.h>
#define dim 50001
using namespace std;
int v[dim], min[dim];
long long S[dim];
long long minim(int a, int b)
{
if(S[a] <= S[b]) return a;
return b;
}
int main()
{ int n, k, i, p1, p2;
long long max;
FILE *f = fopen("secv2.in", "r");
FILE *g = fopen("secv2.out", "w");
fscanf(f, "%d%d", &n, &k);
for(i = 1; i <= n; i++)
{
fscanf(f, "%d", &v[i]);
S[i] = S[i-1] + v[i];
min[i] = minim(i, min[i-1]);
}
max = -2000000000;
for(i = n; i >= k; i--)
{
if(S[i] - S[min[i-k]] > max) max = S[i] - S[min[i-k]], p1 = min[i-k]+1, p2 = i;
}
fprintf(g, "%d %d %lld\n", p1, p2, max);
fclose(f);
fclose(g);
return 0;
}