决定在 codeforces 练题啦,决定每个比赛刷前四道。。。太难就算了
题意:给出x轴上的n 个点,每个点有个权值,问离m 点最近的权值小于等于k 的点离m的距离。单位是10。
思路:大水题。用l、r分别向左向右找即可。
代码:
1 #include<stdio.h> 2 int main(){ 3 int n, m, k; 4 int w[105]; 5 while(~scanf("%d%d%d", &n, &m, &k)){ 6 for(int i=1; i<=n; i++){ 7 scanf("%d", &w[i]); 8 } 9 int l=m-1, r=m+1; 10 while(l>=1 || r<=n){ 11 if(l>=1 && w[l]<=k && w[l]!=0) break; 12 if(r<=n && w[r]<=k && w[r]!=0) break; 13 l--; 14 r++; 15 } 16 printf("%d0\n", r-m); 17 } 18 return 0; 19 }