Cod sursa(job #2251113)

Utilizator borbonzolaBono Borbonzola borbonzola Data 1 octombrie 2018 09:53:03
Problema Numere 2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>
#include <algorithm>

using namespace std;

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

int N, M;
int v[105];
int m[500000];
int c;

void Citire ();
void Rezolvare ();
void StergereElem (int);
void Afisare ();

int main()
{
    Citire();
    Rezolvare();
    Afisare();
}

void Citire ()
{
    fin >> N >> M;
    for (int i=1; i<=N; ++i)
        fin >> v[i], m[v[i]]=v[i];
}

void Rezolvare ()
{
    for (int j=1; j<=M; ++j)
        for (int i=1; i<=N; ++i)
        {
            if (m[c-1]!=j*v[i])
                m[++c]=j*v[i];
        }
    sort(m+1, m+c+1);
    for (int i=c; i>=1; --i)
        if (m[i]==m[i-1])
            StergereElem(i);

}

void StergereElem (int poz)
{
    for (int i=poz; i<c; ++i)
        m[i]=m[i+1];
    c--;
}

void Afisare ()
{
    fout << m[M];
}