Em có bài tập tìm khoảng cách giữa 2 nhà gần nhất. Tuy nhiên có một test case sai, em nghĩ là do out of bounds
nhưng không biết sai ở đâu.
Đầu bài:
Input:
- n (số ngôi nhà, 2<=n<=10^5)
- n dòng sau là vị trí căn nhà (0<= ai<= 10^9)
Output: số nguyên duy nhất cho biết khoảng cách giữa hai căn nhà gần nhau nhất
VD:
Output:
3
3 1 6
Input: 2
Code của em:
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define f0(i,n) for(int i=0;i<n;++i)
#define f1(i,n) for(int i=1;i<=n;++i)
#define MOD (ll)(1e9 + 7)
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n,minn=MOD,d=0;
cin >> n;
int a[n];
f0(i,n)cin >> a[i];
sort(a,a+n);
f0(i,n-1){
if (a[i+1]-a[i]<minn)
minn=a[i+1]-a[i];
}
cout << minn;
return 0;
}
Test case sai:
1st token differs - expected: ‘96’, found: ‘1000000007’
Chỗ sai này thì có lúc là 2147483647,1677148948, 483193061, 1000000007(minn ban đầu).
Mong các bác giúp em. Em cảm ơn.