Cod sursa(job #2956478)

Utilizator rapidu36Victor Manz rapidu36 Data 19 decembrie 2022 16:53:49
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <fstream>

using namespace std;

const int N = 50000;
const int INF = 2e9;

int v[N+1];

int main()
{
    ifstream in("secv2.in");
    ofstream out("secv2.out");
    int n, k, sc = -INF, sk = 0, smax = -INF, p = 1, stmax, drmax;
    in >> n >> k;
    for (int i = 1; i <= n; i++)
    {
        in >> v[i];
        sk += v[i];
        if (i > k)
        {
            sk -= v[i-k];
        }
        if (i >= k)
        {
            if (sk > sc + v[i])
            {
                sc = sk;
                p = i - k + 1;
            }
            else
            {
                sc += v[i];
            }
            if (sc > smax)
            {
                smax = sc;
                stmax = p;
                drmax = i;
            }
        }
    }
    out << stmax << " " << drmax << " " << smax;
    in.close();
    out.close();
    return 0;
}