HDU 4737

来源:互联网 发布:韩国iptv网络电视 编辑:程序博客网 时间:2024/04/28 13:59

九野的博客,本文转载可以不注明出处 :http://blog.csdn.net/acmmmm/article/details/11692485

按位或运算出后的结果只会增加或不变 不会减少

#include <stdio.h>#define N 110010#define ll intll a[N];int main(){    int T,Cas=1;scanf("%d",&T);    int n,m;    ll i,j,ans;    while(T--)    {        scanf("%d %d",&n,&m);        for(i=0;i<n;i++)scanf("%d",&a[i]);        ans=0;        for(i=0;i<n;i++)        {            if(a[i]<m)ans++;            ll yi=a[i];            for(j=i+1;j<n;j++)            {                yi|=a[j];                if(yi<m)ans++;                else break;            }        }        printf("Case #%d: %d\n",Cas++,ans);    }    return 0;}