比赛 2024暑期C班集训1 评测结果 EEEEEEEEEEEEEEEEEEEE
题目名称 雨和卡布奇诺 最终得分 0
用户昵称 wdsjl 运行时间 3.584 s
代码语言 C++ 内存使用 388.83 MiB
提交时间 2024-07-01 11:29:11
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
const int N = 5010;
int n,t[N]/*表示咖啡品种*/,u[N]/*表示咖啡机数量*/;
int m/*赞助商数量*/ ,l[N],a[N][N],b[N][N];
int k[N],c[N][N],d[N][N];
int used[N];
int tot;
int main(){
    freopen("Cappuccino.in","r",stdin);
    freopen("Cappuccino.out","w",stdout);
    scanf("%d",&n);
    for(int i=1;i<=n;i++){
        scanf("%d",&t[i]);
        scanf("%d",&u[t[i]]); 
    } 
    scanf("%d",&m);
    for(int i=1;i<=m;i++){
        scanf("%d",&l[i]);
        for(int j=1;j<=l[i];j++){
            scanf("%d%d",&a[i][j],&b[i][j]);//第i个赞助的j个要求 
        }
        scanf("%d",&k[i]);
        for(int j=1;j<=k[i];j++){
            scanf("%d%d",&c[i][j],&d[i][j]); 
        } 
    }
//    cout<<"----"<<u[1]<<" "<<u[2]<<endl;
    for(int i=1;i<=m;i++){
//        cout<<"i:"<<i<<endl;
        for(int j=1;j<=m;j++){
            if(used[j])continue;
            int boo=0;
            for(int q=1;q<=l[j];q++){
                if(b[j][q]>u[a[j][q]]){
                    boo=1;
//                    cout<<endl;
//                    cout<<j<<" "<<q<<" "<<a[j][q]<<" "<<b[j][q]<<" "<<u[a[j][q]]<<endl;
                    break;
                }
            }
            if(boo==0){
//                cout<<j<<" ";
                for(int q=1;q<=k[j];q++){
                    u[c[j][q]]+=d[j][q];
                }
                used[j]++;
                tot++;
                break;
            }
        }
    }
    cout<<tot<<endl;
    return 0;
}