Cod sursa(job #2478044)

Utilizator Victor2006Nicola Victor-Teodor Victor2006 Data 21 octombrie 2019 16:18:18
Problema Secventa 2 Scor 100
Compilator c-64 Status done
Runda Arhiva de probleme Marime 1.02 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;



}