题解
【入门】选班委
1 条题解
-
0
#include <iostream> #include <vector> using namespace std; int main() { int n, m; // 输入同学总数n和投票数m cin >> n >> m; // 初始化票数数组,下标0不用(同学编号从1到n),初始得票为0 vector<int> votes(n + 1, 0); // 统计每张选票的得票 for (int i = 0; i < m; ++i) { int num; cin >> num; votes[num]++; // 对应编号的同学得票+1 } // 找得票最多的编号(票数相同选编号小的) int max_count = 0; // 记录最高票数 int result = 0; // 记录当选的编号 for (int i = 1; i <= n; ++i) { // 若当前票数更高,更新最高票和编号 if (votes[i] > max_count) { max_count = votes[i]; result = i; } // 票数相同但编号更小的情况,无需处理(因为按顺序遍历,先遇到的编号更小) } // 输出结果 cout << result << endl; return 0; }
- 1