[CF911A]Nearest Minimums
题目大意:
给你一个数列,问数列中最小数的最近距离。
思路:
直接模拟即可。
1 #include<cstdio> 2 #include<cctype> 3 #include<algorithm> 4 inline int getint() { 5 register char ch; 6 while(!isdigit(ch=getchar())); 7 register int x=ch^'0'; 8 while(isdigit(ch=getchar())) x=(((x<<2)+x)<<1)+(ch^'0'); 9 return x; 10 } 11 const int inf=0x7fffffff; 12 int main() { 13 const int n=getint(); 14 int ans; 15 for(register int i=0,min=inf,pos;i<n;i++) { 16 const int x=getint(); 17 if(x<min) { 18 min=x; 19 pos=i; 20 ans=inf; 21 } else if(x==min) { 22 ans=std::min(ans,i-pos); 23 pos=i; 24 } 25 } 26 printf("%d\n",ans); 27 return 0; 28 }