题解:CF680B Bear and Finding Criminals

· · 题解

思路:根据题意可知,如果两个城市都有罪犯,那么一定可以抓到,若有一个城市没有罪犯,则不确定有没有罪犯,无法抓获。因为关联这个城市的两个点无非是 c+1 和 c-1 其中若一个城市没有罪犯,就无法知道两个城市哪个有罪犯了。

代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n,a,cnt=0;
    cin>>n>>a;
    int t[14250];
    for(int i=1;i<=n;i++){
        cin>>t[i];
        if(t[i]) cnt+=1;
    }
    for(int i=1;a+i<=n&&a-i>=1;i++){
        if(t[a+i]+t[a-i]==1){
            cnt--;
        }
    }
    cout<<cnt;
}