Pagini recente » Cod sursa (job #749104) | Cod sursa (job #767754) | Cod sursa (job #2743685) | Cod sursa (job #1469698) | Cod sursa (job #1526233)
#include <fstream>
int v[500000], len, s, front, x;
int pos[500000];
int N, k;
using namespace std;
int main(){
ofstream of("deque.out");
ifstream f("deque.in");
int max = 0, p1 = 0, p2 = 0;
f >> N >> k;
front = 1; len = 0;
for (long i = 1; i <= N; ++i)
f >> v[i];
for (long i = 1; i <= N; ++i){
while (len >= front && v[i] <= v[pos[len]]) --len;
pos[++len] = i;
if (pos[front] <= i - k)
++front;
if (i >= k && v[pos[front]] > max){
max = v[pos[front]]; p1 = i-k+1; p2 = i;
}
}
of <<p1<<" "<<p2 << " "<<max<<"\n";
}