Cod sursa(job #2358344)

Utilizator BogdanRazvanBogdan Razvan BogdanRazvan Data 28 februarie 2019 00:49:09
Problema Secventa Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>

using namespace std;
ifstream fin ("secventa.in");
ofstream fout ("secventa.out");
int a[500005], dq[500005];
int main()
{
    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;
}