Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
117164 陈家宝 金矿 C++ 通过 100 0 MS 292 KB 1079 2023-12-22 13:49:46

Tests(5/5):


#include<bits/stdc++.h> using namespace std; int a[1001][3]={0},b[1001]={0},g[1001][1001]; inline bool isNumber(char c) { return(c>='0'&&c<='9'); } void init() { int i,n; char c; cin>>n; for(i=1;i<=n;++i) cin>>b[i]; for(i=1;i<=n;i++){ int x; cin>>x; do{ int num=0; while(isNumber(c=getchar())) num=num*10+c-'0'; g[x][num]=1; g[num][x]=1; } while(c!='\n'); } for(i=1;i<=n;i++){ a[i][0]=b[i]; a[i][1]=i; } } void Max() { int i,j,max,l; for(i=10;i>=1;i--){ max=0; l=i; for(j=i+1;j<=10;j++) if(g[i][j]&&a[j][0]>max){ max=a[j][0]; l=j; } a[i][0]+=max; a[i][1]=l; } max=0; l=1; for(i=1;i<=10;i++){ if(a[i][0]>max){ max=a[i][0]; l=i; } } cout<<max; } int main(){ init(); Max(); return 0; }


测评信息: