Pagini recente » Cod sursa (job #2827301) | Cod sursa (job #515461) | Cod sursa (job #943486) | Cod sursa (job #2651577) | Cod sursa (job #2484996)
#include <fstream>
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
int dq[500005], v[500005];
int main()
{
int N, K, i, x, b = 1, e = 0, bSirCerut, minimax;
fin >> N >> K;
for(i = 1; i <= N; i++) fin >> v[i];
for(i = 1; i <= K; i++){
dq[++e] = v[i];
while(e > b && dq[e] < dq[e - 1]) dq[--e] = dq[e + 1];
}
minimax = dq[1]; bSirCerut = 1;
for(i = K + 1; i <= N; i++){
if(dq[b] == v[i - K]) b++;
dq[++e] = v[i];
while(e > b && dq[e] < dq[e - 1]) dq[--e] = dq[e + 1];
if(dq[b] > minimax) minimax = dq[b], bSirCerut = i - K + 1;
}
fout << bSirCerut << ' ' << bSirCerut + K - 1 << ' ' << minimax;
return 0;
}