Cod sursa(job #1679576)

Utilizator doc2177Dorian Croitoru doc2177 Data 8 aprilie 2016 02:47:29
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <fstream>
#include <deque>
using namespace std;

int main() {
int N,K,max=-30000,ix=0;
ifstream cin("secventa.in");
ofstream cout("secventa.out");
cin >> N >> K;
deque<int> buffer;
int A[N];
for (int i=0; i!=N; ++i) cin >> A[i];
for (int i=0; i!=N; ++i) {
 while (buffer.size()!=0 and A[i]<= A[buffer.back()]) buffer.pop_back();
 buffer.push_back(i);
 
 if (buffer.front()== i-K) buffer.pop_front();
 if (i+1>=K and A[buffer.front()]>max) {
	max=A[buffer.front()] ;
	ix=i+1-K;
  }				
 }
cout << ix+1 << " " << ix+K << " " << max << endl;

return 0;
}