Cod sursa(job #3145999)

Utilizator leelcheeseCiovnicu Denis leelcheese Data 17 august 2023 19:20:32
Problema Secventa 2 Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1 kb
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define nmax 50005
#define MOD 666013         
#define INF 1000000007
//#define fin cin
//#define fout cout

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

int n, k;
int a[nmax];

void secv_sum_max()
{
    int i, minim, st, dr, p, sMax;
    st = 1; dr = k; sMax = 0; p = 0; minim = INF;
    for (i = 1; i <= k; i++)
        minim = min(minim, a[i]);
    for (i = 2; i <= n; i++)
    {
        if (sMax < a[i] - minim && i - p >= k)
        {
            sMax = a[i] - minim;
            st = p + 1;
            dr = i;
        }
        if (minim > a[i])
        {
            minim = a[i];
            p = i;
        }
    }
    fout << st << " " << dr << " " << a[dr] - a[st - 1] << "\n";
}

int main()
{
    int i;
    fin >> n >> k;
    for (i = 1; i <= n; i++)
    {
        fin >> a[i];
        a[i] += a[i - 1];
    }
    secv_sum_max();
    fout.close();
    fin.close();
    return 0;
}