Cod sursa(job #2478046)

Utilizator Victor2006Nicola Victor-Teodor Victor2006 Data 21 octombrie 2019 16:19:54
Problema Secventa 2 Scor 100
Compilator c-64 Status done
Runda Arhiva de probleme Marime 1.56 kb




#include <stdio.h>















#define N 50000















#define INF 1500000































int s[N + 1];















int a[N + 1];































int oof( int a, int b ) {















  if ( a > b )















    return a;















  return b;















}































int main() {















  FILE *fin, *fout;















  int n, k, i, sc, smax, stmax, drmax, stc;















  fin = fopen( "secv2.in", "r" );















  fscanf( fin, "%d%d", &n, &k );















  for ( i = 1; i <= n; i ++ ) {















    fscanf( fin, "%d", &a[i] );















    s[i] = s[i - 1] + a[i];















  }















  sc = smax = s[k];















  stc = stmax = 1;















  drmax = k;















  for ( i = k + 1; i <= n; i ++ ) {















    fscanf( fin, "%d", &a[i] );















    s[i] = s[i - 1] + a[i];















    if ( s[i] - s[i - k] > sc + a[i] ) {















      sc = s[i] - s[i - k];















      stc = i - k + 1;















    } else {















      sc += a[i];















    }















    if ( sc > smax ) {















        smax = sc;















        stmax = stc;















        drmax = i;















    }















  }















  fclose( fin );































  fout = fopen( "secv2.out", "w" );















  fprintf( fout, "%d %d %d\n", stmax, drmax, smax );















  fclose( fout );















  return 0;















}