Pagini recente » Cod sursa (job #3143381) | Cod sursa (job #2301999) | Cod sursa (job #1908073) | Cod sursa (job #3279142) | Cod sursa (job #2343715)
#include <fstream>
using namespace std;
ifstream in("secventa.in");
ofstream out("secventa.out");
int n,k,ci,mi,maxim=-30001,v[500000],dq[500000];
int main()
{
in>>n>>k;
for(int i=1;i<=n;i++)
in>>v[i];
int st=0,dr=-1;
for(int i=1;i<=n;i++)
{
if(st<=dr&&dq[st]==i-k)
st++;
while(st<=dr&&v[i]<=v[dq[dr]])
dr--;
dq[++dr]=i;
if(v[dq[st]]>maxim)
maxim=v[dq[st]],mi=dq[st];
}
ci=mi;
int maxi=-2,im,jm;
int j=1,i;
for(i=1;i<=n;i++)
{
if(v[i]<maxim)
j=i;
while(j<=i&&v[j]<maxim)
j++;
if(i-j+1>maxi)
maxi=i-j+1,im=j,jm=i;
}
out<<im<<" "<<jm<<" "<<maxim;
return 0;
}