Cod sursa(job #1582048)

Utilizator hrazvanHarsan Razvan hrazvan Data 27 ianuarie 2016 16:56:09
Problema Secventa 2 Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <stdio.h>
#define MAXN 50000
#define INF 2000000000
int v[MAXN];
int main(){
  int n, k, min = INF, ans = -INF, i, st, dr, pst = 0;
  FILE *fin, *ofut;
  fin=fopen("secv2.in", "r");
  ofut=fopen("secv2.out", "w");
  fscanf(fin, "%d%d", &n, &k);
  for(i=1; i<=n; i++){
    fscanf(fin, "%d", &v[i]);
    v[i]+=v[i-1];
  }
  for(i=k; i<=n; i++){
    if(min>v[i-k]){
      min=v[i-k];
      pst = i - k + 1;
    }
    if(ans<v[i]-min){
      ans=v[i]-min;
      st = pst;
      dr = i;
    }
  }
  fprintf(ofut, "%d %d %d\n", st, dr, ans);
  fclose(fin);
  fclose(ofut);
  return 0;
}