Pagini recente » Rating 0988887718 (duyboy135) | Cod sursa (job #1218540)
# include <fstream>
# include <iostream>
# include <queue>
# include <deque>
# define nmax 500005
using namespace std;
ifstream fi("secventa.in");
ofstream fo("secventa.out");
int S[nmax];
deque <int> Q;
int main(void)
{
int n,k;
fi>>n>>k;
for (int i=1;i<=n;++i) fi>>S[i];
int Max=-(1<<30);
int p,u;
for (int i=1;i<=n;++i)
{
while (!Q.empty() && S[i]<=S[Q.back()]) Q.pop_back();
Q.push_back(i);
if (Q.front()<=i-k) Q.pop_front();
if (Q.front()>Max && i>=k) Max=S[Q.front()],p=i-k+1,u=i;
}
fo<<p<<" "<<u<<" "<<Max<<"\n";
}