Pagini recente » Istoria paginii runda/pregoni2/clasament | Istoria paginii runda/piscot512 | Atasamentele paginii Profil RodicaApostol21kgs | Profil MihaelaCismaru | Cod sursa (job #1796618)
#include <cstdio>
using namespace std;
int dq[500005];
int v[500005];
int main()
{
freopen("secventa.in", "r", stdin);
freopen("secventa.out", "w", stdout);
int n, k, dr, dqst, dqdr;
int ans = -30002;
dqst = 0; dqdr = 1;
scanf("%d %d", &n, &k);
for (int i = 1; i <= n; ++i)
{
scanf("%d", &v[i]);
if (dqst + 1 != dqdr && dqst + k <= i)
++dqst;
while (dqst + 1 != dqdr && v[i] < v[dq[dqdr]])
--dqdr;
dq[++dqdr] = i;
if (i >= k && v[dq[dqst]] > ans)
{
ans = v[dq[dqst]];
dr = i;
}
}
printf("%d %d %d\n", dr - k + 1, dr, ans);
return 0;
}