Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
6717 | 邓小龙 | 两个数的最小距离II | C++ | Accepted | 1 MS | 264 KB | 967 | 2025-03-14 14:24:27 |
#include<iostream> // cin\cout\endl #include<cstdio> //scanf()\printf() #include<cstring> // strcpy()\strcat()\strcmp()\strlen()\memset() #include<cmath> //sqrt()\pow()\abs()\ceil()\floor()\max()\min() //n个数,存入数组a中,i,j为遍历数组下标,x,y存数组距离最小的两个数的下标 int n,a[1001],i,j,x,y; //定义一个值用于存两个数的距离 int _min; using namespace std; int main(){ cin>>n;//录入数组的元素个数 for(i=1;i<=n;i++){ cin>>a[i];//录入每一个元素的值,下标从1开始 } //初始化_min以及xy _min=abs(a[2]-a[1]);//距离要用绝对值 x=1,y=2; for(i=2;i<n;i++){ for(j=i+1;j<=n;j++){ if(_min>abs(a[i]-a[j])){//如果想要i大的话把>改成>=就可以了 _min=abs(a[i]-a[j]); x=i; y=j; } } } cout<<x<<" "<<y<<endl; return 0; }