Pagini recente » Cod sursa (job #1397909) | Cod sursa (job #2819720) | Cod sursa (job #1978137) | Cod sursa (job #2714425) | Cod sursa (job #947117)
Cod sursa(job #947117)
#include <fstream>
#include <deque>
using namespace std;
int main()
{
short int v[500005];
ifstream cin("secventa.in");
ofstream cout("secventa.out");
int k,n,i;
deque<int> coada;
cin>>n>>k;
short int baza=-31000;
short int st,dr;
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;
}