Cod sursa(job #1330789)

Utilizator ovidiuz98Zamfir Ovidiu ovidiuz98 Data 30 ianuarie 2015 22:59:14
Problema Deque Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <fstream>
#define DIM 5000002
using namespace std;

ifstream fin("deque.in");
ofstream fout("deque.out");
long long N,K,x,d[DIM],p,u,v[DIM],sum;
int main(){
    fin>>N>>K;
    p=1;
    u=0;
    for(int i=1;i<=N;i++){
        fin>>v[i];
        while(p<=u && v[i]<v[d[u]])
            u--;
        d[++u]=i;
        if(i-d[p]==K)
            p++;
        if(i>=K)
            sum+=v[d[p]];
    }
    fout<<sum;
    fin.close();fout.close();
    return 0;
}