| Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 77715 | 刘焕群 | 两个数的最小距离II | C++ | Accepted | 5 MS | 280 KB | 1103 | 2024-06-15 11:31:17 |
#include <iostream> #include <vector> #include <climits> using namespace std; int main() { int n; cin >> n; vector<int> a(n); for (int i = 0; i < n; ++i) { cin >> a[i]; } int min_diff = INT_MAX; int min_i = 0, min_j = 0; for (int i = 0; i < n - 1; ++i) { for (int j = i + 1; j < n; ++j) { int diff = abs(a[j] - a[i]); if (diff < min_diff) { min_diff = diff; min_i = i + 1; // 注意下标从1开始 min_j = j + 1; } else if (diff == min_diff && i < min_i) { // 如果diff相同但i更小,更新min_i和min_j min_i = i + 1; min_j = j + 1; } else if (diff == min_diff && i == min_i && j < min_j) { // 如果diff和i都相同但j更小,只更新min_j min_j = j + 1; } } } cout << min_i << " " << min_j << endl; return 0; }