小白题解 Codeforces 794A Bank Robbery

来源:互联网 发布:cf手游尼泊尔战龙 数据 编辑:程序博客网 时间:2024/05/21 06:44

(大水题)题目链接:点击打开链接

题目大意:给定一维坐标轴,有两个点b,c有人看守,一个人在b,c之间的某个点a,然后给出n个银行位置,问这个人最多可以抢劫多少银行。

分析:由于数据保证b<a<c,所以实际上a点并没什么用;然后只需扫一下这n个点,看有多少个点在b,c之间即可(并不需要排序),O(n)复杂度直接解。

下面是AC代码。

#include<cstdio>#include<algorithm>using namespace std;int arr[(int)1e5+5];int main(){    int now,l,r,n,cnt=0;    scanf("%d%d%d",&now,&l,&r);    scanf("%d",&n);    for(int i=0;i<n;i++)    {        scanf("%d",&arr[i]);    }    for(int i=n-1;i>=0;i--)    {        if(arr[i]<r&&arr[i]>l)            cnt++;    }    printf("%d\n",cnt);    return 0;}



1 0
原创粉丝点击