Cod sursa(job #2040327)

Utilizator AndreidgDragomir Andrei Valentin Andreidg Data 15 octombrie 2017 17:57:21
Problema Nivele Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.05 kb
#include <fstream>
#include <vector>
using namespace std;
const int N =50005;
ifstream f("nivele.in");
ofstream g("nivele.out");

int n,t;
vector <int> v;
void Clear()
{
    while(!v.empty())
        v.pop_back();
}
void afisare()
{
    for(int i = 0; i < v.size(); i++)
        g<<v[i]<<" ";
    g<<"\n";
}
void elimn(int poz)
{
    int p = poz + 1;
    //afisare();
    while(p < v.size())
    {
        if(v[p] == v[p-1])
        {
            //g<<p<<" ok\n";

            v[p-1]--;
            v.erase(v.begin() + p);
            p--;
        }
        else
        {
            p++;
        }

    }
}

int main()
{
    f>>t;
    for(int ct = 1; ct <= t; ct++)
    {
        f>>n;
        for(int i = 0 ; i< n; i++)
        {
            int x;
            f>>x;
            v.push_back(x);
        }

        elimn(0);

        if(v.size() == 1 && v[0] == 1)
            g<<"DA";
        else
            g<<"NU";

        Clear();
        g<<"\n";
    }
    f.close();
    g.close();
    return 0;
}