minmaxseq
Xem dạng PDF
Gửi bài giải
Điểm:
10,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
98M
Input:
stdin
Output:
stdout
Tác giả:
Người đăng:
Dạng bài
Bài tập Lập trình sáng tạo
Bình luận
include<bits/stdc++.h>
using namespace std; int n, a[100002]; int main(){ ios::syncwithstdio(0); cin.tie(0); cout.tie(0); cin>>n; for(int i = 1; i <= n; i++) cin>>a[i]; int mina = *minelement(a+1, a+1+n); int maxa = *maxelement(a+1, a+1+n); if(mina == maxa){ cout<<1; return 0;} int ans = n; int imi = 0, ima = 0; for(int i = 1; i <= n; i++){ if(a[i] == mina){ if(ima > 0) ans = min(ans, i - ima + 1); imi = i; } if(a[i] == maxa){ if(imi > 0) ans = min(ans, i - ima + 1); ima = i; } } cout<<ans;
}