Pagini recente » Istoria paginii runda/sim2/clasament | Cod sursa (job #16372) | Cod sursa (job #1404766) | Cod sursa (job #981519) | Cod sursa (job #2055874)
#include <iostream>
#include <fstream>
using namespace std;
const int N=1000000;
int d[N],v[N];
int main()
{
ifstream fin("secventa.in") ;
ofstream fout("secventa.out");
int st=0, dr=-1,pozi, pozf, maxim=0,n,k;
fin>>n>>k;
for(int i=0; i<n; i++)
{
fin>>v[i];
if(st<=dr&&d[st]==i-k)
st++;
while(st<=dr&&v[d[dr]]>=v[i])
dr--;
d[dr++]=i;
if(i>=k-1&&v[d[st]]>maxim) {maxim=v[d[st]]; pozf=i+1; pozi=i-k+1;}
}
fout<<pozi<<" "<<pozf<<" "<<maxim;
return 0;
}