Pagini recente » Cod sursa (job #1080550) | Cod sursa (job #2965537) | Cod sursa (job #1605049) | Cod sursa (job #1613280) | Cod sursa (job #662111)
Cod sursa(job #662111)
#include<fstream>
#include<deque>
#define NMAX 500005
using namespace std;
ifstream in("secventa.in");
ofstream out("secventa.out");
int N, K, A[NMAX];
deque< int > D;
int main()
{
int i, baza, S = -100000, Si;
in >> N >> K;
for(i = 1; i <= N; i++)
in >> A[i];
for(i = 1; i <= N; i++)
{
while(!D.empty() and A[i] <= A[ D.back() ])
{
D.pop_back();
}
D.push_back(i);
if(D.front() == i-K) D.pop_front();
if(i >= K)
{
baza = A[ D.front() ];
if( baza > S)
{
S = baza;
Si = i;
}
}
}
out << Si-K+1 << " " << Si << " " << S;
}