Pagini recente » Cod sursa (job #3205622) | Cod sursa (job #2407481) | Cod sursa (job #2765938) | Cod sursa (job #358691) | Cod sursa (job #1760865)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
int solution, first, last, A[100010], N, K;
deque<int>deq;
int main()
{
fin >> N >> K;
for(int i = 1; i <= N; i ++)
{
fin >> A[i];
}
for(int i = 1; i <= N; i ++)
{
while( !deq.empty() && A[i] >= A[deq.back()] && deq.size() >= K )
{
deq.pop_back();
}
deq.push_front(i);
if(deq.front() == i - K)
{
deq.pop_front();
}
if(i >= K && deq.size() >= K)
{
if(A[ deq.back() ] > solution)
{
solution = A[ deq.back() ];
last = deq.front();
first = deq.back();
}
}
}
fout << first << " " << last << " " << solution;
return 0;
}