Pagini recente » Cod sursa (job #3255381) | Cod sursa (job #2069383) | Cod sursa (job #2895805) | Cod sursa (job #1315789) | Cod sursa (job #2999646)
#include <fstream>
#include <deque>
using namespace std;
ifstream in("secventa.in");
ofstream out("secventa.out");
int n, a[500001];
int k;
int q[500001];
int maxim = -30000;
int main()
{
in >> n >> k;
for(int i = 1;i <= n;i++){
in >> a[i];
}
int pq = 0, uq = -1;
int val = 0;
for(int i = 1;i <= n;i++){
while(pq <= uq && a[i] <= a[q[uq]]){
uq--;
}
q[++uq] = i;
if(q[pq] <= i - k){
pq++;
}
if(i >= k){
if(maxim <= a[q[pq]]){
maxim = a[q[pq]];
val = i;
}
}
}
out << val - k + 1 << " " << val << ' ' << maxim;
return 0;
}