找最小的差和个数

 

总是runtime 终于对了

Sample Input

Input

4
6 -3 0 4

Output

2 1

Input

3
-2 0 2

Output

2 2

 

#include <algorithm>
using namespace std;
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int a[210000];
int main()
{
    int n,i;
    while(scanf("%d",&n)!=EOF)
    {
        int d=0;
        for(i=0;i<n;i++)
           scanf("%d",&a[i]);
    sort(a,a+n);
    int minn=a[1]-a[0];
    for(i=1;i<n;i++)
    {
        if(a[i]-a[i-1]<minn)
        {
            minn=a[i]-a[i-1];
            d=0;
        }
        if(a[i]-a[i-1]==minn)
            d++;
    }
    printf("%d %d\n",minn,d);
    }
    return 0;
}

 

posted @ 2018-03-29 19:44  ~~zcy  阅读(95)  评论(0编辑  收藏  举报