Pagini recente » Cod sursa (job #623009) | Cod sursa (job #1442202) | Cod sursa (job #2305434) | Cod sursa (job #1306378) | Cod sursa (job #854699)
Cod sursa(job #854699)
#define MAXN 5000001
#include <fstream>
using namespace std;
int K,N,dq[MAXN];
short int A[MAXN];
ifstream f("secventa.in");
ofstream g("secventa.out");
void secv(){int p,u,i;
p=1;u=0;
int dr=0;
short int max=-30333;
for (i=1;i<=N;i++)
{
while ((p<=u)&&(A[i]<=A[dq[u]])) u--;
dq[++u]=i;
if (dq[p]==i-K) p++;
if ((i>=K)&&(A[dq[p]]>max)) {
max=A[dq[p]];
dr=i;
}
}
g<<dr-K+1<<" "<<dr<<" "<<max;
}
int main()
{
f>>N>>K;
for (int i=1;i<=N;i++) f>>A[i];
secv();
return 0;
}