Cod sursa(job #3256467)

Utilizator popescu_georgePopescu George popescu_george Data 14 noiembrie 2024 17:34:23
Problema Secventa Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include<fstream>
#include<deque>
using namespace std;
ifstream cin("secventa.in");
ofstream cout("secventa.out");
#define Z 4096
int p=Z;
deque<pair<int,int>> d;
char s[Z];
inline char A()
{
    if(p==Z)
        cin.read(s,Z),p=0;
    return s[p++];
}
int B()
{
    char c;
    for(c=A();c<48&&c!='-';c=A());
    int n=0,k=1;
    if(c=='-')
        k=-1,c=A();
    for(;c>47;n=n*10+c-48,c=A());
    return n*k;
}
int main()
{
    int n=B(),a,k=B(),j=0,m=-3e5;
    for(int i=1;i<=n;++i) {
        for(a=B();!d.empty()&&d.back().first>a;d.pop_back());
        if(d.push_back({a,i}),!d.empty()&&d.front().second==i-k)
            d.pop_front();
        if(!d.empty()&&i>=k&&m<d.front().first)
            m=d.front().first,j=i;
    }
    return cout<<j-k+1<<' '<<j<<' '<<m,0;
}