Pagini recente » Cod sursa (job #2006573) | Cod sursa (job #1858022) | Cod sursa (job #743619) | Cod sursa (job #1877602) | Cod sursa (job #425521)
Cod sursa(job #425521)
#include <fstream>
#include <iostream>
using namespace std;
int A[500000];
int d[500000];
int n,k,i,back,front;
int maxx = -40000;
int ii,jj;
int main()
{
ifstream f("secventa.in");
ofstream g("secventa.out");
f >> n >> k;
for (i=1;i<=n;i++)
f >> A[i];
front = 1, back = 0;
for (i=1;i<=n;i++)
{
while (d[front] <= (i - k)) front++;
while ((front <= back) && (A[i] < A[d[back]]))
back--;
d[++back] = i;
if (i>=k)
if (A[d[front]] >= maxx)
{
maxx = A[d[front]];
ii =i - k + 1;
jj = i;
}
}
g << ii <<" " << jj <<" " << maxx << endl;
return 0;
}