#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; #define FOR(i,a,b) for(ll i=(a);i<(b);++i) #define ALL(v) (v).begin(), (v).end() #define p(s) cout<<(s)< void vprint(T &V){ for(auto v : V){ cout << setw(2) << v << " "; } cout << endl; } ll N, M; vector A; void simulation(){ vector V; FOR(i, 1, N+1){ V.push_back(i); } vprint(V); // 初期状態 for(ll a : A){ a--; vector temp; // 先頭に temp.push_back(V[a]); // 他の FOR(i, 0, N){ if(i!=a){ temp.push_back(V[i]); } } V = temp; cout << a+1 << "番目を動かした結果" << endl; vprint(V); } } int main(){ cin.tie(0); ios::sync_with_stdio(false); // input cin >> N >> M; A.resize(M); FOR(i, 0, M){ cin >> A[i]; } // simulation(); // br(); ll index = 1; //cout << index << "を追いかける" << endl; // うしろから for(int i=M-1; i>=0; i--){ ll a = A[i]; if(index==1){ index = a; } else{ if(a=index){ index--; } } // cout << a << "で巻き戻したあとの位置" << index << endl; } p(index); return 0; }