比赛 |
2024暑期C班集训1 |
评测结果 |
TATTTTTTTTTTTTEEAEEE |
题目名称 |
雨和卡布奇诺 |
最终得分 |
10 |
用户昵称 |
123 |
运行时间 |
14.474 s |
代码语言 |
C++ |
内存使用 |
369.65 MiB |
提交时间 |
2024-07-01 11:59:56 |
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
const int N=5010;
map <int,int> mp,flag;
int c[N][N],d[N][N],cnt[N],ret[N],e[N][N],f[N][N];
int n,m,mi=0,flag1=1,res=0;
int main() {
freopen("Cappuccino.in","r",stdin);
freopen("Cappuccino.out","w",stdout);
cin>>n;
while (n--)
{
int a,b;
scanf("%d%d",&a,&b);
mp[a]+=b;
}
cin>>m;
for (int j=1;j<=m;j++)
{
scanf("%d",&cnt[j]);
for (int i=1;i<=cnt[j];i++)
{
scanf("%d%d",&c[j][i],&d[j][i]);
}
scanf("%d",&ret[j]);
for (int i=1;i<=ret[j];i++)
{
scanf("%d%d",&e[j][i],&f[j][i]);
}
}
while (flag1)
{
flag1=0;
for (int i=1;i<=m;i++)
{
int now=1;
for (int j=1;j<=cnt[i];j++)
{
if (flag[i] || mp[c[i][j]]<d[i][j])
{
now=0;
break;
}
}
if (now)
{
res++;
flag1=1;
flag[i]=1;
for (int q=1;q<=ret[i];q++)
{
mp[e[i][q]]+=f[i][q];
}
}
}
}
cout<<res;
}