Cod sursa(job #3183501)

Utilizator KaliNarcisa Vasile Kali Data 12 decembrie 2023 07:50:33
Problema Stergeri Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.06 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>

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;
    k--;

    vector<pair<int,int> > ind;
    for (int i = 0; i < m; ++i)
    {
        in >> x;
        in >> y;
        ind.push_back(make_pair(x-1,y-1));
    }

    for (int i = ind.size() - 1; i >= 0; --i)
    {
        if (ind[i].first <= k)
        {
            k += ind[i].second - ind[i].first + 1;
        }
    }
    out << k;

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

    return 0;
}