1 条题解
-
0
#include <iostream> #include <algorithm> using namespace std; int main() { int n; cin >> n; // 读入同学个数 int a[1000]; // 存储票数的数组 // 读入每个同学的票数 for (int i = 0; i < n; i++) { cin >> a[i]; } // 特殊情况:如果只有1个同学 if (n == 1) { cout << "No" << endl; return 0; } // 对票数进行排序,从小到大 sort(a, a + n); // 找出最大值(最后一个元素) int max_value = a[n - 1]; // 从后往前找第一个不等于最大值的数 int result = -1; for (int i = n - 2; i >= 0; i--) { if (a[i] != max_value) { result = a[i]; // 找到次大的值 break; } } // 输出结果 if (result == -1) { // 如果没找到次大的值,说明所有票数都相同 cout << "No" << endl; } else { cout << result << endl; } return 0; }
信息
- ID
- 1357
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- (无)
- 递交数
- 20
- 已通过
- 5
- 上传者