Pagini recente » Cod sursa (job #1163754) | Istoria paginii runda/eusebiu_oji_2012_cls11-12 | Istoria paginii runda/simulara.oji.2015.9d | Cod sursa (job #237715) | Cod sursa (job #947124)
Cod sursa(job #947124)
#include <fstream>
#include <deque>
using namespace std;
int main()
{
int v[500005];
ifstream cin("secventa.in");
ofstream cout("secventa.out");
int k,n,i;
deque<int> coada;
cin>>n>>k;
int baza=-31000;
int st=-1,dr=-1;
for(i=0;i<n;i++)
{
cin>>v[i];
while(!coada.empty())
if((i-coada.front())>=k)
coada.pop_front();
else
break;
while(!coada.empty())
if(v[coada.back()]>=v[i])
coada.pop_back();
else
break;
coada.push_back(i);
if((i+1)>=k)
{
//cout<<v[coada.front()]<<endl;
if(v[coada.front()]>baza)
{
baza=v[coada.front()];
st=coada.front()+1;
dr=st+k-1;
}
}
}
cout<<st<<' '<<dr<<' '<<baza<<'\n';
cin.close();
cout.close();
return 0;
}