Pagini recente » Cod sursa (job #2918971) | Cod sursa (job #3238869) | Cod sursa (job #2678025) | Cod sursa (job #2913816) | Cod sursa (job #1040380)
#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;
//n-=k;
//n++;
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[p];
uf=D[u];
//ok=1;
//break;
}
//if(ok=1)
//break;
}
fout<<pf<<" "<<uf<<" "<<maxim<<"\n";
return 0;
}