Pagini recente » Cod sursa (job #222312) | Cod sursa (job #750584) | Cod sursa (job #2832264) | Cod sursa (job #1166586) | Cod sursa (job #3183500)
/*
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);
if (in == nullptr || out == nullptr)
{
cout << "Could not open file!\n";
}
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 += y - x + 1;
}
}
out << k;
in.close();
out.close();
return 0;
}