Files
contests/2019/republic/12_d1/clubul.cpp
2022-06-01 20:14:50 +03:00

67 lines
1.0 KiB
C++

#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#include <list>
using namespace std;
ifstream input_stream;
ofstream output_stream;
void fillList(list<uint16_t> &L) {
int counter = 1;
for (auto i = L.begin(); i != L.end(); i++) {
*i = counter;
counter++;
}
}
list<uint16_t> getPositions() {
uint16_t N, K, R;
input_stream >> N;
input_stream >> K;
input_stream >> R;
list<uint16_t> 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<uint16_t> 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;
}