Cod sursa(job #2628247)

Utilizator abcabc123abc abc abcabc123 Data 15 iunie 2020 10:27:27
Problema Secventa 2 Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>

using namespace std;

ifstream fin ("secv2.in");
ofstream fout ("secv2.out");

int n, k, sume[50001], a, sum, maxsum, st, dr, inc;

int main()
{
  fin >> n >> k;
  for (int i = 1; i <= n; i++) {
    fin >> a;
    sume[i] += sume[i - 1] + a;
  }
  maxsum = -25001; inc = 1; dr = k;
  sum = maxsum = sume[k];
  for (int i = k + 1; i <= n; i++) {
    a = sume[i] - sume[i - 1];
    if (sum + a < sume[i] - sume[i - k]) {
      sum = sume[i] - sume[i - k]; inc = i - k + 1;
    }
    else
      sum += a;
    if (sum > maxsum) {
      maxsum = sum; st = inc; dr = i;
    }
  }
  fout << st << ' ' << dr << ' ' << maxsum;
  return 0;
}