Pagini recente » Cod sursa (job #1375872) | Cod sursa (job #2295086) | Cod sursa (job #1587099) | Cod sursa (job #2199706) | Cod sursa (job #2676355)
#include <fstream>
using namespace std;
const int lim = 5e5+5;
int arr[lim], dq[lim];
int main()
{
ifstream cin ("secventa.in");
ofstream cout ("secventa.out");
int n, K, Front = 1, Back = 0;
cin >> n >> K;
int l, r, maxx = -1e8;
for (int i = 1; i <= n; i++)
{
cin >> arr[i];
while (Front <= Back && arr[i] <= arr[dq[Back]])
Back--;
dq[++Back] = i;
if (dq[Front] == i-K)
Front++;
if (i >= K && maxx < arr[dq[Front]])
{
l = i - K + 1;
r = i;
maxx = arr[dq[Front]];
//cout << l << " " << r << " " << maxx << endl;
}
}
cout << l << " " << r << " " << maxx;
return 0;
}