| Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 134194 | 胡海峰老师 | 两个数的最小距离II | C++ | Accepted | 3 MS | 292 KB | 1264 | 2025-10-25 23:18:26 |
#include <iostream> #include <vector> #include <cmath> #include <climits> using namespace std; int main() { int n; cin >> n; vector<long long> a(n + 1); // 下标从1开始 for (int i = 1; i <= n; i++) { cin >> a[i]; } long long min_dist = LLONG_MAX; int best_i = 0, best_j = 0; // 枚举所有不同的下标对 (i, j) for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { if (i == j) continue; long long dist = llabs(a[i] - a[j]); if (dist < min_dist) { // 找到更小的距离,直接更新 min_dist = dist; best_i = i; best_j = j; } else if (dist == min_dist) { // 距离相同,按规则比较 if (i < best_i) { // i更小,优先 best_i = i; best_j = j; } else if (i == best_i && j < best_j) { // i相同,j更小 best_j = j; } } } } cout << best_i << " " << best_j << endl; return 0; }