提交时间:2026-01-04 15:44:38

运行 ID: 81287

#include <iostream> #include <vector> using namespace std; int main() { int n; cin >> n; int arr[20005]; // n ≤ 20000 for (int i = 0; i < n; i++) { cin >> arr[i]; } // 标记数组:因为数字范围 10~5000,开一个大小 5001 的数组足够(索引 0~5000) bool visited[5005] = {false}; // 初始化为false vector<int> result; // 存放去重后的结果 for (int i = 0; i < n; i++) { int num = arr[i]; if (!visited[num]) { // 如果这个数第一次出现 result.push_back(num); visited[num] = true; } } // 输出结果 for (size_t i = 0; i < result.size(); i++) { cout << result[i]; if (i != result.size() - 1) { cout << " "; // 最后一个数后不输出空格 } } cout << endl; return 0; }