Cod sursa(job #2452680)

Utilizator Tudor06MusatTudor Tudor06 Data 31 august 2019 18:46:01
Problema Secventa 2 Scor 70
Compilator c-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <stdio.h>
#include <stdlib.h>

int v[50000];
int s[50000];

int main() {
  FILE *fin = fopen( "secv2.in", "r" ), *fout = fopen( "secv2.out", "w" );
  int n, k, i, s1, s2, j1, j2, max, j3, j4;
  fscanf( fin, "%d%d", &n, &k );
  for ( i = 0; i < n; i ++ ) {
    fscanf( fin, "%d", &v[i] );
  }
  s2 = 0;
  s1 = 0;
  for ( i = 0; i < k; i ++ ) {
    s[i] = v[i];
    s1 += v[i];
  }
  j1 = 0;
  j2 = k;
  max = -2000000000;
  for ( ; i < n; i ++ ) {
    if ( s1 >= max ) {
      max = s1;
      j3 = j1;
      j4 = j2;
    }
    s[i] = v[i];
    s1 += v[i];
    s2 += v[j1 + j2 - k];
    j2 ++;
    if ( s2 < 0 ) {
      s1 += -1 * s2;
      j1 = j2 - k;
      s2 = 0;
    }
  }
  fprintf( fout, "%d %d %d", j3 + 1, j4, max );
  fclose( fin );
  fclose( fout );
  return 0;
}