Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Tác giả:
Nguồn bài:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Cho mảng số nguyên A[] gồm N phần tử, hãy tìm độ chênh lệch nhỏ nhất giữa 2 phần tử trong mảng.
Đầu vào
Dòng đầu tiên là số nguyên dương N
Dòng thứ 2 gồm N số nguyên viết cách nhau một vài khoảng trắng
Giới hạn
1<=N<=1000
-10^3<=A[i]<=10^3
Đầu ra
In ra độ chênh lệch nhỏ nhất giữa 2 phần tử bất kì trong mảng
Ví dụ :
Input 01
8
69 96 93 27 84 32 78 56
Output 01
3
Bình luận
int main(){ int n; cin>>n; int a[n]; for(int i=0;i<n;i++){ cin>>a[i]; } sort(a,a+n); int min=a[1]-a[0]; for(int i=0;i<n-1;i++){ if((a[i+1]-a[i])<min){ min=a[i+1]-a[i]; } } cout<<min; return 0; }
import math
if name == 'main': n = int(input()) a = list(map(int, input().split())) min_val = 10 ** 6 a.sort(reverse=True)
int n; cin >> n; multiset<int> ms; for(int i=0;i<n;i++){ int x; cin >> x; ms.insert(x); } int min = 1e9; for(auto it = ms.begin();it!=ms.end();it++){ if(next(it) != ms.end()){ min = fmin(min, *next(it) - *it); } else{ break; } } cout << min;