Cod sursa(job #2269544)

Utilizator Roby54151Robert Cojocariu Roby54151 Data 26 octombrie 2018 10:09:22
Problema Deque Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.17 kb
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
long long n, k, x, suma=0;
deque <long long> sir;
int poz()
{
    if(sir.at(0)<sir.at(1) && sir.at(0)<sir.at(2))
        return 1;
    if(sir.at(2)<sir.at(1) && sir.at(2)<sir.at(0))
        return 3;
    if(sir.at(1)<sir.at(0) && sir.at(1)<sir.at(2))
        return 2;
}
int main()
{
    f>>n>>k;
    f>>x;
    sir.push_back(x);
    f>>x;
    sir.push_back(x);
    f>>x;
    sir.push_back(x);
    for(int i=2; i<n; i++)
    {
        if(poz()==1)
        {
            suma+=sir.front();
            sir.pop_front();
            f>>x;
            sir.push_back(x);
        }
        else
            if(poz()==3)
            {
                suma+=sir.back();
                sir.pop_front();
                f>>x;
                sir.push_back(x);
            }
            else
                if(poz()==2)
                {
                    sir.pop_front();
                    suma+=sir.front();
                    f>>x;
                    sir.push_back(x);
                }
    }
    g<<suma;
    return 0;
}