Cod sursa(job #2358367)

Utilizator BogdanRazvanBogdan Razvan BogdanRazvan Data 28 februarie 2019 02:11:25
Problema Secventa Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <fstream>



using namespace std;

ifstream fin ("secventa.in");

ofstream fout ("secventa.out");

int a[500005], dq[500005];

int main()

{
	ios::sync_with_stdio(false);
    int n, k, F = 1, L = 0, mn = 30005, mx = 0;

    fin >> n >> k;

    int x = 1, y = k;

    for(int i = 1; i <= n; ++i) fin >> a[i];

    for(int i = 1; i <= k; ++i) {

        dq[++L] = a[i];

        mn = min(mn, a[i]);

    }

    mx = mn;

    for(int i = k + 1; i <= n; ++i) {

        if(dq[F] == mn && a[i] <= mn) mn = a[i], dq[++L] = mn, ++F;

        else if(dq[F] == mn) {

            ++F;

            dq[++L] = a[i];

            mn = 30005;

            for(int j = F; j <= L && mn != dq[F - 1]; ++j)

                    mn = min(mn, dq[j]);

        }

        else ++F, dq[++L] = a[i];

        if(mn > mx) mx = mn, x = F, y = L;

    }

    fout << x << " " << y << " " << mx;

    return 0;

}