Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
141105 林泽豪 金矿 C++ 通过 100 0 MS 272 KB 642 2024-04-02 13:28:29

Tests(5/5):


#include<bits/stdc++.h> using namespace std; const int N=1010; int w[N],f[N],maxn; bool l[N][N]; int main(){ int n; cin>>n; for(int i=1;i<=n;i++){ cin>>w[i]; f[i]=w[i]; maxn=max(maxn,w[i]); } for(int i=1;i<=n;i++){ int k=0,m; cin>>m; string s; getline(cin,s); for(int j=0;j<s.size();j++){ if('0'<=s[j]&&s[j]<='9') k=k*10+(s[j]-'0'); else{ l[m][k]=l[k][m]=1; k=0; } } if(k!=0){ l[m][k]=l[k][m]=1; k=0; } } for(int i=n-1;i>=1;i--){ for(int j=i+1;j<=n;j++){ if(l[i][j]){ f[i]=max(f[i],f[j]+w[i]); } maxn=max(maxn,f[i]); } } cout<<maxn; }


测评信息: