Pagini recente » Cod sursa (job #1054607) | Cod sursa (job #2967866) | Cod sursa (job #82430) | Cod sursa (job #2844884) | Cod sursa (job #711571)
Cod sursa(job #711571)
/*
Rezolvare la problma `Secventa 2` de Alexandru Bagu de 90 de puncte
*/
#include <stdio.h>
#include <iostream>
#define L 50001
using namespace std;
int n, k, a[L];
FILE *f=fopen("secv2.in", "r"),
*g=fopen("secv2.out", "w");
int main()
{
fscanf(f, "%d %d\n", &n, &k);
for(int i =0; i <= n; i++)
fscanf(f, "%d", &a[i]);
int max = 0, st = 0, ln = 0, amax = -0xFFFF, ast = 0, aln = 0;
for(int i = 0; i < n; i++)
{
if(max + a[i] >= 0)
{
max += a[i];
ln++;
if(max > amax && ln >= k)
{
amax = max;
ast = st;
aln = ln;
}
}
else
{
max = 0;
st = i + 1;
ln = 0;
}
}
fprintf(g, "%d %d %d", ast + 1, ast + aln, amax);
fclose(f);
fclose(g);
return 0;
}