Cod sursa(job #3183506)

Utilizator KaliNarcisa Vasile Kali Data 12 decembrie 2023 08:43:20
Problema Stergeri Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.15 kb
/*
Magicianul Dino a scris pe o foaie in ordine numerele naturale de la 1 la N (adica 1 2 3 .. N).
Frasinel a ales doi indici x si y (x ≤ y) si Dino a sters toate elementele aflate intre pozitiile x si y.
Apoi Dino ii spune lui Frasinel sa aleaga alti doi inidici si va realiza acelasi lucru pentru elementele ramase scrise pe foaie.
Dupa M operatii de acest tip, Frasinel ar vrea sa stie ce element se afla pe pozitia K pe foaie.
*/

#include <iostream>
#include <fstream>
#include <vector>
#include <unordered_map>

using namespace std;

int main()
{
    int n, m, k;
    int x, y;
    ofstream out("stergeri.out", ios_base::out);
    ifstream in("stergeri.in", ios_base::in);

    in >> n;
    in >> m;
    in >> k;

    unordered_map<int, int> pos;
    for (int i = 0; i < m; ++i)
    {
        in >> x;
        in >> y;
        for (int j = 0; j <= y - x; ++j)
        {
            pos[y + 1 + j] = x + j;
        }
    }
    for (auto it = pos.begin(); it != pos.end(); it++)
    {
        cout << it->second << " "; 
        if (it->second == k)
        {
            out << it->first;
            break;
        }
    }

    in.close();
    out.close();

    return 0;
}