Cod sursa(job #903863)

Utilizator SeekHunt1334Septimiu Bodica SeekHunt1334 Data 3 martie 2013 11:32:07
Problema Deque Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.87 kb
#include <iostream>
#include <fstream>
#include <deque>
#include <algorithm>
#include <climits>
using namespace std;

ifstream fin("deque.in");
ofstream fout("deque.out");

int n, k;
deque<int> coada;
long long S;

int CalcMin();

int main()
{
    int curmin;
    fin >> n >> k;

    int temp;
    while ( coada.size() < k )
    {
        fin >> temp;
        coada.push_back(temp);
        n--;
    }

    if ( n )
    {
        while ( n-- >= 0 )
        {
            int minim = CalcMin();
            S += minim;
            coada.pop_front();
            fin >> temp;
            coada.push_back(temp);
        }
    }

    fout << S << '\n';

    fin.close();
    fout.close();
    return 0;
}

int CalcMin()
{
    deque<int>::iterator it;
    int minim = INT_MAX;
    for (it = coada.begin(); it != coada.end(); ++it)
        minim = min ( minim, *it );
    return minim;
}