Pagini recente » Cod sursa (job #1080208) | Cod sursa (job #2307767) | Cod sursa (job #2576726) | Cod sursa (job #845622) | Cod sursa (job #650448)
Cod sursa(job #650448)
#include<iostream>
#include<fstream>
using namespace std;
short c[500001],v[500001];
int main ()
{
int n,i,k,st,dr,max,sfarsit;
ifstream f("secventa.in");
ofstream g("secventa.out");
f>>n>>k;
for(i=1;i<=n;i++)
f>>v[i];
f.close();
st=1;
dr=0;
max=-100000;
for(i=1;i<=n;i++) {
while((st<=dr)&&(v[c[dr]]>=v[i]))
dr--;
c[++dr]=i;
if(c[st]<=(i-k))
st++;
if(v[c[st]]>max) {
max=v[c[st]];
sfarsit=i;
}
}
g<<sfarsit-k+1<<" "<<sfarsit<<" "<<max;
g.close();
return 0;
}