Cod sursa(job #2481693)

Utilizator mirceatlxhaha haha mirceatlx Data 27 octombrie 2019 12:17:21
Problema Secventa 2 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <iostream>
#include <fstream>
#include <deque>
#define NMAX 50005
using namespace std;

ifstream cin("secv2.in");
ofstream cout("secv2.out");

int N, K, indexStart, indexEnd, maxSum, sum = 0, Ti;
int v[NMAX], dp[NMAX];

int main()
{
    cin >> N >> K;
    for(int i = 1; i <= K ; i++)
    {
        cin >> v[i];
        sum += v[i];
        dp[i] = dp[i - 1] + v[i];
    }
    maxSum = sum;
    indexStart = 1;
    indexEnd = K;
    for(int i = K + 1; i <= N; i++)
    {
        cin >> v[i];
        dp[i] = dp[i - 1] + v[i];
        if(dp[i] - dp[i - K] > sum + v[i])
        {
            sum = dp[i] - dp[i - K];
            Ti = i - K + 1;
        }
        else
            sum += v[i];
        if(sum > maxSum)
        {
            maxSum = sum;
            indexStart = Ti;
            indexEnd = i;
        }
            
    }
    cout << indexStart << " " << indexEnd << " " << maxSum << "\n";
    return 0;
}