有没有dalao帮我看一下为什么RE了 完全看不出来啊
#include <bits/stdc++.h>
using namespace std;
#define maxn 110
#define maxm 10010
int f[maxn][maxn];
inline int read()
{
char c;int sign=1;
while((c=getchar())<'0'||c>'9') if(c=='-') sign=-1;
int ret=c-'0';
while((c=getchar())>='0'&&c<='9') ret=ret*10+c-'0';
return ret*sign;
}
int n,m;
int r[maxm];
int ans=0;
int main()
{
n=read();
m=read();
for(int i=1;i<=m;i++)
{
r[i]=read();
}
memset(r,0x3f3f3f,sizeof(r));
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
f[i][j]=read();
}
}
for(int k=1;k<=n;k++)
{
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
f[i][j]=min(f[i][j],f[i][k]+f[k][j]);
}
}
}
/* for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
cout<<f[i][j]<< " ";
}
cout<<endl;
}*/
for(int i=2;i<=m;i++)
{
int x=r[i-1];
int y=r[i];
ans+=f[x][y];
}
cout<<ans<<endl;
return 0;
}