Pagini recente » Cod sursa (job #345757) | Cod sursa (job #564258) | Cod sursa (job #1741122) | Cod sursa (job #2528490) | Cod sursa (job #2269786)
#include <bits/stdc++.h>
using namespace std;
ifstream INPUT_FILE("secventa.in");
ofstream OUTPUT_FILE("secventa.out");
deque<int>d;
int n,k;
int main() {
ios::sync_with_stdio(false);
INPUT_FILE.tie(0);
OUTPUT_FILE.tie(0);
// freopen("secventa.in","r",stdin);
// freopen("secventa.out","w",stdout);
int bazaMaxima = INT_MIN, st, dr;
st = dr = -1;
INPUT_FILE >> n >> k;
//scanf("%d%d",&n,&k);
int elem[n+1];
for (int i = 1; i <= n; ++i) {
INPUT_FILE >> elem[i];
// scanf("%d",&elem[i]);
while (!d.empty() && elem[i] < elem[d.back()]) d.pop_back();
d.push_back(i);
if (i-d.front()==k) d.pop_front();
if (i>=k && elem[d.front()] > bazaMaxima) {
bazaMaxima = elem[d.front()];
st = i - k + 1;
dr = i;
}
}
OUTPUT_FILE<<st<<" "<<dr<<" "<<bazaMaxima;
// printf("%d %d %d\n",st,dr,bazaMaxima);
return 0;
}