Nu aveti permisiuni pentru a descarca fisierul grader_test8.in
Cod sursa(job #1576458)
| Utilizator | Data | 22 ianuarie 2016 14:42:05 | |
|---|---|---|---|
| Problema | Secventa 2 | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.73 kb |
#include <stdio.h>
#define MAX_N 50000
using namespace std;
int s[MAX_N+1];
int main()
{
int n, k, pmax, umax, sc, pc, i, x, smax;
FILE *fi=fopen("secv2.in", "r"), *fo=fopen("secv2.out", "w");
fscanf(fi, "%d%d", &n, &k);
for(i=1;i<=k;i++){
fscanf(fi, "%d", &x);
s[i]=s[i-1]+x;
}
sc=smax=s[k];
pc=pmax=1;
umax=k;
for(i=k+1;i<=n;i++){
fscanf(fi, "%d", &x);
s[i]=s[i-1]+x;
if(s[i]-s[i-k]>sc+x){
pc=i-k+1;
sc=s[i]-s[i-k];
}else
sc+=x;
if(sc>smax){
smax=sc;
pmax=pc;
umax=i;
}
}
fprintf(fo, "%d %d %d", pmax, umax, smax);
fclose(fi);
fclose(fo);
return 0;
}
