Cod sursa(job #2951761)

Utilizator TimiCodeazaTimotei Andrei TimiCodeaza Data 7 decembrie 2022 11:08:21
Problema Secventa 5 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <fstream>
#include <unordered_set>

using namespace std;

int main()
{
    ifstream fin;
    fin.open("muzica.in");

    ofstream fout;
    fout.open("muzica.out");

    long n, m, a, b, c, d, e;

    fin >> n >> m >> a >> b >> c >> d >> e;

    unordered_set<int> mvsl;

    int nr = 0;
    for (int i = 0; i < n; i++)
    {
        int x;
        fin >> x;
        mvsl.insert(x);
    }

    if (mvsl.find(a) != mvsl.end())
    {
        mvsl.erase(a);
        nr++;
    }

    if (mvsl.find(b) != mvsl.end())
    {
        mvsl.erase(b);
        nr++;
    }

    int a1 = a;
    int b1 = b;

    for (int i = 2; i < m; i++)
    {

        int element = (c * b1 + d * a1) % e;

        a1 = b1;
        b1 = element;

        if (mvsl.find(element) != mvsl.end())
        {
            mvsl.erase(element);
            nr++;
        }
    }

    fout << nr;

    return 0;
}