Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
73651 陈昱玮 金矿 C++ 通过 100 0 MS 296 KB 1272 2023-04-08 10:03:46

Tests(5/5):


#include<cmath> #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> 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<<endl; } int main(){ init(); Max(); return 0; }


测评信息: