#include #include using namespace std; struct person{ int opus; int orig_pos; }; int main(){ int n; cin >> n; vector numbers(n); for(int i = 0; i < n; i++){ cin >> numbers[i].opus; numbers[i].orig_pos = i+1; } int cur_number = numbers[0].opus; int num_alive = n; int cur_elim = 0; while(num_alive > 1){ cur_elim = (cur_number%num_alive + cur_elim - 1) % num_alive; if(cur_elim == -1) cur_elim = numbers.size()-1; cur_number = numbers[(cur_elim+1)%num_alive].opus; // numbers.erase(numbers.begin()+cur_elim); num_alive--; // cout << "Removing " << cur_elim << endl; } cout << numbers[0].orig_pos << endl; return 0; }