Cod sursa(job #2367942)

Utilizator stefanturcut@yahoo.comTurcut Stefan [email protected] Data 5 martie 2019 12:59:17
Problema Deque Scor 20
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.2 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream fin("deque.in");
ofstream fout("deque.out");
int n,m,v[5000010];
//int A[5000001],Deque[5000001];
int main()
{
    fin>>n>>m;
    int a,b,c,minn;
    long long s=0;//int Front = 1, Back = 0;
//    for(int i=1;i<=n;i++)
//    {
//        fin>>A[i];
//    }
    for(int i=1;i<=n;i++)
    {
             fin>>v[i];
        if(i>=m)
        {
            minn=v[i-m+1];
            for(int j=i-m+2;j<=i;j++)
            {
                if(minn>v[j])
                {
                    minn=v[j];
                }
            }
            s+=minn;
        }
//            while (Front <= Back && A[i] <= A[ Deque[Back] ]) Back--;
//		/// Adaugam pozitia elementului curent in deque
//		Deque[++Back] = i;
//
//		/// Daca elementul minim coincide cu cel de pe pozita i-m, ii eliminam pozitia din deque, deoarece acesta nu mai conteaza pentru pasii >= i
//		if (Deque[Front] == i-m) Front++;
//
//		/// Afisam minimul, acesta aflandu-se in varful deque-ului
//		if (i >= m) s += A[ Deque[Front]];
    }
//    for(int i=1;i<=n;i++)
//    {
//        fout<<Deque[i]<<endl;
//    }
    fout<<s;
    return 0;
}