先刷前四题,剩下的有空补。

792A New Bus Route

题意:给出x 轴上的n 个点,问两个点之间的最短距离是多少,有多少个最短距离。

思路:排序后遍历。

代码:

 1 #include<stdio.h>
 2 #include<algorithm>
 3 using namespace std;
 4 #define N 200005
 5 int w[N];
 6 int main(){
 7   int n;
 8   while(~scanf("%d", &n)){
 9     for(int i=0; i<n; i++){
10       scanf("%d", &w[i]);
11     }
12     sort(w, w+n);
13     int mint=w[1]-w[0], co=1;
14     for(int i=2; i<n; i++){
15       if(w[i]-w[i-1]<mint){
16         mint=w[i]-w[i-1];
17         co=1;
18       }
19       else if(w[i]-w[i-1]==mint) co++;
20     }
21     printf("%d %d\n", mint, co);
22   }
23   return 0;
24 }
792A AC代码

相关文章: