比赛 2024暑期C班集训1 评测结果 MMMMMMMMMMMMMMMMMMMM
题目名称 雨和卡布奇诺 最终得分 0
用户昵称 陆晨洗 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2024-07-01 10:44:53
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int a[100000010]={0};
int b[20010][20010]={0};
int main()
{
    freopen("Cappuccino.in","r",stdin);
    freopen("Cappuccino.out","w",stdout);
    int n,m,c,d,ans,i,j;
    cin>>n;
    ans=0;
    for(i=1;i<=n;i++)
    {
        cin>>c;
        cin>>a[c];
    }
    cin>>m;
    for(i=1;i<=m;i++)
    {
       cin>>c;
       for(j=1;j<=c;j++)
       {
           cin>>d;
           cin>>b[2*i-1][d];
           if(d>b[2*i-1][0])
           {
               b[2*i-1][0]=d;
           }
       }
       cin>>c;
       for(j=1;j<=c;j++)
       {
           cin>>d;
           cin>>b[2*i][d];
           if(d>b[2*i][0])
           {
               b[2*i][0]=d;
           }
       }
    }
    c=0;
    for(i=1;i<=m;i++)
    {
        d=1;
        if(b[2*i-1][1]!=-1)
        {
            for(j=1;j<=b[2*i-1][0];j++)
            {
            
                if(a[j]<b[2*i-1][j])
                {
                    d=0;
                    break;
                }
            }    
        }
        else
        {
            d=0;
        }
        if(d==1)
        {
            c=1;
            for(j=1;j<=b[2*i][0];j++)
            {
                a[j]=a[j]+b[2*i][j];
            }
            b[2*i-1][1]=-1;
            ans++;
        }
        if(i==m)
        {
            if(c==0)
            {
                break;
            }
            else
            {
                i=0;
                c=0;
            }
        }
    }
    cout<<ans;
    return 0;
}