hdu 4737

题目链接

 

直接暴力,或运算只会越来越大

 

#include <cstdio>

#include <cstring>

using namespace std;

#define N 100005

int a[N];

int main()

{

    int n,m,cas,i,j,num,v;

    scanf("%d",&cas);

    v=1;

    while(cas--)

    {

        scanf("%d%d",&n,&m);

        for(i=0;i<n;i++)

        {

            scanf("%d",&a[i]);

        }

        int sum=0;

        for(i=0;i<n;i++)

        {

            num=a[i];

            for(j=i;j<n;j++)

            {

                num=num|a[j];

                if(num<m)

                sum++;

                else break;

            }

        }

        printf("Case #%d: %d\n",v++,sum);

    }

    return 0;

}


你可能感兴趣的:(HDU)