Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
73588 陆彦哲 金矿 C++ 解答错误 20 790 MS 272 KB 720 2023-04-08 08:13:51

Tests(1/5):


#include<bits/stdc++.h> using namespace std; long long a[10010],dp[10010]; bool book[1010][1010],flag[10010]; int main(){ int n; cin>>n; for(int i=1;i<=n;i++)cin>>a[i]; for(int i=1;i<=n;i++){ char ch; int x; cin>>x; if(i!=x)book[i][x]=1; while(true){ ch=getchar(); if(ch==' '){ cin>>x; if(i!=x)book[i][x]=1; } if(ch=='\n')break; } } for(int i=1;i<=n;i++)dp[i]=a[i]; for(int i=1;i<=n;i++){ for(int j=i+1;j<=n;j++){ if(book[i][j]==1)dp[j]=max(dp[j],dp[i]+a[j]); } } cout<<dp[n]<<endl; return 0; }


测评信息: