题解
2025-10-11 22:12:36
发布于:广东
1阅读
0回复
0点赞
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int N;
cin >> N;
vector<vector<int>> synergy(N + 1, vector<int>(N + 1, 0));
for (int i = 1; i < N; ++i) {
for (int j = i + 1; j <= N; ++j) {
cin >> synergy[i][j];
synergy[j][i] = synergy[i][j];
}
}
vector<int> secondMax(N + 1, 0);
for (int i = 1; i <= N; ++i) {
vector<int> synergies;
for (int j = 1; j <= N; ++j) {
if (i != j) {
synergies.push_back(synergy[i][j]);
}
}
sort(synergies.begin(), synergies.end(), greater<int>());
if (synergies.size() >= 2) {
secondMax[i] = synergies[1];
} else {
secondMax[i] = 0;
}
}
int maxSecond = *max_element(secondMax.begin() + 1, secondMax.end());
cout << 1 << endl;
cout << maxSecond << endl;
return 0;
}
这里空空如也
有帮助,赞一个