Pagini recente » Cod sursa (job #2241956) | Cod sursa (job #3030064) | Cod sursa (job #1887025) | Cod sursa (job #664617) | Cod sursa (job #678848)
Cod sursa(job #678848)
#include<cstdio>
#include<queue>
#define MAX 500050
using namespace std;
int v[MAX];
deque<int> DQ;
int main()
{
freopen("secventa.in", "r", stdin);
int i, n, k, end, sol = -30050;
scanf("%d %d\n", &n, &k);
for(i = 1; i <= n; i++)
{
scanf("%d", &v[i]);
while(!DQ.empty() && v[i] <= v[DQ.back()])
DQ.pop_back();
DQ.push_back(i);
if(DQ.front() == i - k)
{
DQ.pop_front();
}
if(i >= k && v[DQ.front()] > sol)
{
sol = v[DQ.front()];
end = i;
}
}
fclose(stdin);
freopen("secventa.out", "w", stdout);
printf("%d %d %d\n", end - k + 1, end, sol);
fclose(stdout);
}