Pagini recente » Cod sursa (job #944872) | Cod sursa (job #1778096) | Cod sursa (job #1924280) | Cod sursa (job #2486616) | Cod sursa (job #3154617)
#pragma GCC optimize("fast-math")
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")
#include<bits/stdc++.h>
using namespace std;
int n, k, v[500005], maxi = INT_MIN, lc, lmax, st, dr;
deque<int>dq;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
int32_t main(int argc, char * argv[])
{
fin >> n >> k;
for(int i = 1; i <= n; ++i)
{
fin >> v[i];
}
for(int i = 1; i <= n; ++i)
{
while(!dq.empty() && v[dq.back()] > v[i])
{
dq.pop_back();
}
if(!dq.empty() && dq.front() == i - k)
{
dq.pop_front();
}
if(i >= k)
{
if(v[dq.front()] > maxi)
{
maxi = v[dq.front()];
st = dq.front();
dr = i;
}
}
dq.push_back(i);
}
fout << st << " " << dr << " " << maxi;
return 0;
}