1 条题解

  • 2
    #include<bits/stdc++.h>
    using  namespace std;
    typedef long long ll;
    const ll N=1005;
    ll n,i,j,a[N],x,y,q,t;
    int main()
    {
        cin>>n>>q;
        a[0]=0;
        for(i=1;i<=n;i++) 
        {
            scanf("%ld",&t);
            a[i]=j+(t+1)%2;//黑1,白0,这里反了一下,以便后面计算。
            j=max(a[i],a[i-1]);//找到最近黑珠子个数值
        }
        for(i=1;i<=q;i++)
        {
            scanf("%ld%ld",&x,&y);
            printf("%ld\n",a[y]-a[x-1]);//a[i]表示第i个珠子时黑珠子的个数
        }
        return 0;
    }
    
    
    

    动规永远滴神

  • 1

信息

ID
1216
难度
5
分类
(无)
标签
递交数
25
已通过
13
通过率
52%
上传者