Pagini recente » Cod sursa (job #885302) | Cod sursa (job #2947585) | Cod sursa (job #1726231) | Cod sursa (job #1237248) | Cod sursa (job #1040513)
#include<fstream>
using namespace std;
int n, i, k, p, u, pf, uf, maxim, D[500003], v[500003];
FILE*fin=fopen("secventa.in","r");
ofstream fout("secventa.out");
int main(){
fscanf(fin,"%d%d", &n, &k);
for(i=1; i<=n; i++)
fscanf(fin,"%d", &v[i]);
p=1; u=0;
maxim=-999999;
for(i=1; i<=n; i++){
while(p<=u && v[i]<=v[D[u]])
u--;
D[++u]=i;
if(D[u]-D[p]==k)
p++;
if(i>=k)
if(v[D[p]]>maxim){
maxim=v[D[p]];
pf=D[u]-k+1;
uf=D[u];
}
}
fout<<pf<<" "<<uf<<" "<<maxim<<"\n";
return 0;
}