Cod sursa(job #1662119)

Utilizator NicolaalexandraNicola Alexandra Mihaela Nicolaalexandra Data 24 martie 2016 15:10:31
Problema Deque Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.93 kb
#include <fstream>

using namespace std;

int n,v[5000010],k,i,minim,p,j;

long long s;

ifstream fin ("deque.in");

ofstream fout ("deque.out");

int main (){

    fin>>n>>k;
    minim = 2000000000;
    for (i=1;i<=n;i++){
        fin>>v[i];
        if (i <= k)
            if (v[i] < minim){
                minim = v[i];
                p = i;
            }

    }
    s+=minim;
    // fixam inceputul secventei;
    for (i=2;i<=n-k+1;i++){
        if (i == p+1){
            //recalculam minimul;
            minim = 2000000000;
            for (j=i;j<=i+k-1;j++)
                if (v[j] < minim){
                    minim = v[j];
                    p = j;
                }
            s+=minim;
        }
        else{
            if (v[i+k-1] < minim){
                minim = v[i+k-1];
                p = i+k-1;
            }
            s+=minim;
        }
    }
    fout<<s;

    return 0;
}