Pagini recente » Cod sursa (job #2242038) | Cod sursa (job #1846767) | Cod sursa (job #1482103) | Cod sursa (job #154671) | Cod sursa (job #425482)
Cod sursa(job #425482)
#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];
i = 1;
back = 1;
front = 1;
d[back] = 1;
for (i=2;i<=n;i++)
{
if ((back -front ) >= k -1 ) 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;
}