Pagini recente » Cod sursa (job #1482001) | Cod sursa (job #703057) | Cod sursa (job #139438) | Cod sursa (job #2200192) | Cod sursa (job #1805955)
#include <fstream>
#include <cstring>
using namespace std;
ifstream fin ("secventa.in");
ofstream fout ("secventa.out");
short v[500010],minim=-31000;
int n,k,i,D[500010],pozj,p,u,nr,j,semn;
char S[10];
int main () {
fin>>n>>k;
for(i=1;i<=n;i++){
fin>>S;
nr=strlen(S);
semn=0;
j=0;
if(S[0]=='-'){
semn=1;
j++;
}
for(;j<nr;j++)
v[i]=v[i]*10+(S[j]-'0');
if(semn==1)
v[i]*=-1;
}
p=1;
u=1;
D[1]=1;
for(i=2;i<=n;i++){
while(v[i]<=v[D[u]] && p<=u)
u--;
D[++u]=i;
if(i-D[p]>=k)
p++;
if(i>=k && v[D[p]]>minim){
minim=v[D[p]];
pozj=i;
}
}
fout<<pozj-k+1<<" "<<pozj<<" "<<minim;
}