#include <iostream> #include <algorithm> using namespace std; int main() { int n; cin >> n; int a[105]; for (int i = 0; i < n; ++i) cin >> a[i]; int minIdx = 0, maxIdx = 0; for (int i = 1; i < n; ++i) { if (a[i] < a[minIdx]) minIdx = i; if (a[i] > a[maxIdx]) maxIdx = i; } swap(a[minIdx], a[0]); // 最小值移到最前 // 如果最大值恰好是原首元素,它已被换到 minIdx if (maxIdx == 0) maxIdx = minIdx; swap(a[maxIdx], a[n - 1]); // 最大值移到最后 for (int i = 0; i < n; ++i) { cout << a[i] << (i == n - 1 ? '\n' : ' '); } return 0; } /************************************************************** Problem: 1212 User: 231308061 Language: C++ Result: Accepted Time:8 ms Memory:2072 kb ****************************************************************/