Run ID:119790

提交时间:2025-05-18 22:22:08

#include <iostream> #include <vector> using namespace std; int main() { int n; cin >> n; // 读取数组元素的个数 // 创建一个vector(可以理解为会自动变大的数组)来存储数据 vector<int> arr(n); for (int i = 0; i < n; i++) { cin >> arr[i]; // 读取每个元素的值 } int k; cin >> k; // 读取操作次数 // 进行k次移动操作 for (int i = 0; i < k; i++) { int x; cin >> x; // 读取要移动的元素位置(注意:这里的x是从1开始的) // 将位置x-1的元素移到数组末尾 int element = arr[x-1]; // 提取要移动的元素 // 从原位置删除该元素 for (int j = x-1; j < n-1; j++) { arr[j] = arr[j+1]; // 后面的元素依次往前移动一位 } arr[n-1] = element; // 将元素放到数组末尾 } // 输出结果数组 for (int i = 0; i < n; i++) { cout << arr[i]; if (i < n-1) { cout << " "; // 元素之间用空格分隔,最后一个元素后面不输出空格 } } cout << endl; // 换行 return 0; }