Pagini recente » Cod sursa (job #3005453) | Cod sursa (job #2570512) | Cod sursa (job #3126513) | Cod sursa (job #1921181) | Cod sursa (job #1907520)
#include <fstream>
#include <deque>
using namespace std;
ifstream f ("secventa.in");
ofstream g ("secventa.out");
int v[5000001],s,i,n,k,mare=-10000000,st,dr,dist;
deque <int> d;
int main()
{
f>>n>>k;
for(i=1;i<=n;++i) f>>v[i];
for(i=1;i<=n;++i)
{
while(!d.empty()&&v[i]<=v[d[d.size()-1]]) d.pop_back();
d.push_back(i);
if(d[0]==i-k) d.pop_front();
if(i>=k)
{
if(v[d[0]]>mare)
{
mare=v[d[0]];
dist=i-d[0]+1;
st=d[0];
dr=i;
}
else if(v[d[0]]==mare&&i-d[0]+1>dist)
{
dist=i-d[0]+1;
st=d[0];
dr=i;
}
}
}
g<<st<<' '<<dr<<' '<<mare;
return 0;
}