Cod sursa(job #3313819)

Utilizator MXelAMocanu Alexandru-Matei MXelA Data 6 octombrie 2025 21:59:05
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>

using namespace std;
using int64 = long long;

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

const int N_MAX=6e6;
int N, k;
long long a[1 + N_MAX], sum[1+N_MAX];

int main()
{
   fin >> N >> k;
   for (int i = 1; i <= N; i ++){
       fin >> a[i];
       sum[i]=sum[i-1]+a[i];
   }
   int64 minsum = 0, j = 1;
   int r = -1000000000;
   int st, dr;

   for (int i = k; i <= N; i ++) {
      if (sum[i] - minsum > r) {
        r = sum[i] - minsum;
        st = j;
        dr = i;
      }
      else if (sum[i] - minsum == r && j < st) {
        st = j;
        dr = i;
      }
      if (minsum > sum[i-k]) {
        minsum = sum[i-k];
        j = i - k + 1;
      }
   }
   fout << st << " " << dr << " " << r;
   return 0;
}