Pagini recente » Cod sursa (job #2190143) | Cod sursa (job #1558743) | Cod sursa (job #404725) | Cod sursa (job #1589086) | Cod sursa (job #2163756)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
int i,x,y,v[500002],p,u,maxi,n,m;
deque <int> q;
int main()
{
fin>>n>>m;
for(i=1;i<=n;i++)
{
fin>>v[i];
}
for(i=1;i<m;++i)
{
while(!q.empty() && v[q.back()] > v[i])
{
q.pop_back();
}
q.push_back(i);
}
for(i=m;i<=n;++i)
{
while(!q.empty() && v[q.back()]>v[i])
{
q.pop_back();
}
while(!q.empty() && q.front()<=i-m)
{
q.pop_front();
}
q.push_back(i);
if(maxi<v[q.front()] && i>=m)
{
maxi=v[q.front()];
u=i;
p=i-m+1;
}
}
fout<<p<<" "<<u<<" "<<maxi<<'\n';
return 0;
}