密碼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個正整數,相鄰整數之間使用乙個空格分隔。輸出格式...