Nu aveti permisiuni pentru a descarca fisierul grader_test1.ok
Cod sursa(job #1360219)
Utilizator | Data | 25 februarie 2015 12:58:04 | |
---|---|---|---|
Problema | Secventa 2 | Scor | 40 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.86 kb |
#include <iostream>
#include <stdio.h>
using namespace std;
FILE *f,*g;
int v[50001];
int main()
{
int n,k,i,pr=1,ul=1,suma=0,smax=0,lg,suma1=0,id;
f = fopen("secv2.in","r");
g = fopen("secv2.out","w");
fscanf(f,"%d %d\n",&n,&k);
for (i=1; i<=n; ++i) fscanf(f,"%d",&v[i]);
for (i=1; i<=k; i++) suma1 += v[i];
suma = suma1;
smax = suma;
pr = 1;
ul = k;
id = 2;
for (lg=k; lg<=n; ++lg)
{
for (i=id; i<=n-lg; ++i)
{
suma -= v[i-1];
suma += v[(i+lg)-1];
if (suma > smax)
{
smax = suma;
pr = i;
ul = (i+lg)-1;
}
}
suma1 += v[lg+1];
suma = suma1;
}
fprintf(g,"%d %d %d",pr,ul,smax);
fclose(f);
fclose(g);
return 0;
}