Cod sursa(job #2060829)

Utilizator daniela12Sandu Daniela Teodora daniela12 Data 8 noiembrie 2017 18:57:56
Problema Deque Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <iostream>
#include<fstream>

using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int d[5000001],v[5000001];
int main()
{
    long long st=0,dr=-1,k,n,s=0;
    f>>n>>k;
    for(int i=0;i<n;i++)
    {
        f>>v[i];
        if(st<=dr&&d[st]==i-k) st++;//am terminat o secventa de k elemente
        while(st<=dr&&v[i]<=v[d[dr]]) dr--;///adaug in dreapta
        cout<<st<<" "<<dr<<endl;
        d[++dr]=i;///prelucrez min secv curente
        if(i>=k-1) s+=v[d[st]], cout<<i<<" "<<v[d[st]]<<endl<<endl;
    }
    g<<s;
    f.close();
    g.close();
    return 0;
}