Cod sursa(job #2478050)

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































































}