Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
73698 陈星云 金矿 C++ 通过 100 0 MS 276 KB 625 2023-04-08 11:48:00

Tests(5/5):


#include <bits/stdc++.h> using namespace std; int n,x,tmp; int a[1111],b[1111]; bool pd[1111][1111]; int main() { char c; cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; for(int i=1;i<=n;i++) { cin>>x; do { tmp=0; while(1) { c=getchar(); if(c>='0'&&c<='9') tmp=tmp*10+(c-'0'); else break; } if(tmp&&tmp!=i) pd[i][tmp]=1; }while(c!='\n'); } int maxn=0; for(int i=1;i<=n;i++) { b[i]=max(b[i],a[i]); for(int j=1;j<i;j++) if(pd[j][i]) b[i]=max(b[i],b[j]+a[i]); } for(int i=1;i<=n;i++) maxn=max(maxn,b[i]); cout<<maxn; return 0; }


测评信息: