Pagini recente » Cod sursa (job #1067232) | Cod sursa (job #128192) | Cod sursa (job #350010) | Cod sursa (job #1454364) | Cod sursa (job #1830772)
#include <iostream>
#include<fstream>
#include<deque>
using namespace std;
int v[500001],i,n,k,ls,ld,mx;
deque<int> d;
int main()
{
ifstream f("secventa.in");f>>n>>k>>v[1];
d.push_front(1);
++k;++n;
for(i=2;i<k;++i)
{
f>>v[i];
if(v[i]<v[d.back()])
{
d.clear();
d.push_front(i);
}
else
{
while(v[d.front()]>v[i])
{
d.pop_front();
}
d.push_front(i);
}
}
//ls=1;
ld=k-1;mx=v[d.back()];
for(i=k;i<n;++i)
{
if(d.back()+k-2<i)
d.pop_back();
f>>v[i];
if(v[i]<v[d.back()])
{
d.clear();
d.push_front(i);
}
else
{
while(v[d.front()]>v[i])
{
d.pop_front();
}
d.push_front(i);
}
if(v[d.back()]>mx)
{
//ls=i-k+2;
ld=i;
mx=v[d.back()];
}
}
ofstream g("secventa.out");
g<<ld-k+2<<" "<<ld<<" "<<mx;
return 0;
}