Cod sursa(job #1526233)

Utilizator tain1234andrei laur tain1234 Data 16 noiembrie 2015 02:57:41
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#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";
}