最小差值 小水題

2021-06-08 13:14:50 字數 1156 閱讀 6593

密碼gdutacm

最小差值

給出乙個整數陣列a1, a2, …, an,求陣列中兩個數的最小差值。即在陣列中找 ai 和 aj ,使得 ai - aj 的值最小,並且 i < j。

input

輸入的第一行是乙個整數t,表示有t組資料。1 <= t <= 50。

每組資料第一行輸入乙個整數n,第二行輸入n個整數:a1,a2…,an。

1 <= t <= 50, 2 <= n <= 1000000, -1000000000 <= ai <= 1000000000。

output

對於每組資料,輸出一行,即最小差值。

sample input

1 13 2 0

6 8 -4 10

sample output

-14author

cxyue

statistic| submit | back

#include

int a[1000005];

int main()

int t,i,j,min,ans,n,mid;

scanf("%d",&t);

while(t--)

scanf("%d",&n);

for(i=0;iscanf("%d",&a[i]);

min=a[0]; ans=1000000000;

for(i=1;i

mid=min-a[i];

min=minans=midprintf("%d\n",ans);

return 0;

/*一開始在這個題上面扣了好幾個小時  好鬱悶  暴力百分百超時  居然還想到了 用快排

不過很遺憾 排了沒有用   因為這題和快排扯不上邊  哎  究其原因:都怪自己沒有好好分析

題意 拿題就做  沒有真正分析透題的本質 對於此題就是求最小值 那只要被減數越小就行了唄*/

同學的做法 很給力啊

:1002

對原始資料處理下,前乙個數減後乙個數存到陣列裡,然後求最小連續子串和。

#include

__int64 s[1000005],st[1000005];

int main()

}else

}printf("%i64d\n",sum);

}return 0;

}

CCF CSP 最小差值

最小差值 試題編號 201712 1 試題名稱 最小差值 時間限制 1.0s 記憶體限制 256.0mb 問題描述 問題描述 給定n個數,請找出其中相差 差的絕對值 最小的兩個數,輸出它們的差值的絕對值。輸入格式 輸入第一行包含乙個整數n。第二行包含n個正整數,相鄰整數之間使用乙個空格分隔。輸出格式...

CCF 最小差值

試題編號 201712 1 試題名稱 最小差值 時間限制 1.0s 記憶體限制 256.0mb 問題描述 問題描述 給定n個數,請找出其中相差 差的絕對值 最小的兩個數,輸出它們的差值的絕對值。輸入格式 輸入第一行包含乙個整數n。第二行包含n個正整數,相鄰整數之間使用乙個空格分隔。輸出格式 輸出乙個...

20171201 最小差值

問題描述 試題編號 201712 1 試題名稱 最小差值 時間限制 1.0s 記憶體限制 256.0mb 問題描述 問題描述 給定n個數,請找出其中相差 差的絕對值 最小的兩個數,輸出它們的差值的絕對值。輸入格式 輸入第一行包含乙個整數n。第二行包含n個正整數,相鄰整數之間使用乙個空格分隔。輸出格式...