Pagini recente » Cod sursa (job #2981207) | Cod sursa (job #845220) | Cod sursa (job #59411) | Cod sursa (job #2496194) | Cod sursa (job #544723)
Cod sursa(job #544723)
#include<fstream.h>
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
int a[5000001],deque[5000001],n,k,i,front,st,back;
int main()
{
int max=-123456789;
front=1;
back=1;
max=-123456789;
f>>n>>k;
for (i=1;i<=n;i++)
{
f>>a[i];
while (front<=back && a[i]<=a[deque[back]]) --back;
deque[++back]=i;
if (i>=k)
{
if (max<a[deque[front]])
{
max=a[deque[front]];
st=i;
}
}
if (i>=k)
{
while (deque[front]==i-k+1 && front<=back) front++;
}
}
g<<st-k+1<<" "<<st<<" "<<max;
f.close();
g.close();
return 0;
}