#include #include #include #include #include using namespace std; ifstream input_stream; ofstream output_stream; void fillList(list &L) { int counter = 1; for (auto i = L.begin(); i != L.end(); i++) { *i = counter; counter++; } } list getPositions() { uint16_t N, K, R; input_stream >> N; input_stream >> K; input_stream >> R; list positions (N, 0); fillList(positions); for (uint16_t i; i < R; i++) { uint16_t loser; input_stream >> loser; auto loser_it = positions.begin(); advance(loser_it, loser-1); loser = *loser_it; positions.erase(loser_it); positions.push_back(loser); } return positions; } int main() { input_stream.open("input.txt"); output_stream.open("output.txt"); list positions = getPositions(); uint16_t P; input_stream >> P; auto dan_it = positions.begin(); advance(dan_it, P - 1); cout << *dan_it << endl; input_stream.close(); output_stream.close(); return 0; }