Pagini recente » Cod sursa (job #1621066) | Cod sursa (job #2256013) | Cod sursa (job #3129370) | Cod sursa (job #2786494) | Cod sursa (job #2208700)
#include <fstream>
using namespace std;
ifstream cin("secventa.in");
ofstream cout("secventa.out");
const int NMAX = 500005;
int deq[NMAX], v[NMAX];
int main()
{
ios::sync_with_stdio(false);
int n, k;
cin >> n >> k;
for(int i = 1; i <= n; i ++)
cin >> v[i];
int st = 1, dr = 1;
deq[1] = 1;
int sol = -30005, rsol = 1, lsol = 1;
for(int i = 2; i <= n; i ++) {
while(st <= dr && v[i] < v[deq[dr]])
dr --;
deq[++dr] = i;
if(k <= i && sol < v[deq[st]]) {
sol = v[deq[st]];
rsol = i;
lsol = i - k + 1;
}
if(deq[dr] - deq[st] == k-1)
st ++;
}
cout << lsol << " " << rsol << " " << sol;
return 0;
}