Cod sursa(job #1218922)

Utilizator somuBanil Ardej somu Data 12 august 2014 21:46:55
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;

#define nmax 500001
ifstream in("secventa.in");
ofstream out("secventa.out");

int N,K,i,St,Dr,Max = -30001;
int V[nmax],Viz[nmax];
deque <int> deq;

int main() {
    
    in >> N >> K;
    
    for (i=1; i<=N; i++) {
        in >> V[i];
        
        while(!deq.empty() && V[deq.back()] > V[i]) deq.pop_back();
        
        deq.push_back(i);
        
        if (deq.front() < i - K + 1 && i >= K) deq.pop_front();
        
        if (V[deq.front()] > Max && i >= K){
            Max = V[deq.front()];
            
            St = i - K + 1,
            Dr = i;
        }
    
    }
    
    out << St << " " << Dr << " " << Max << "\n";
    
    return 0;
}