RT,WA了,求大佬指教```
#include
#include
#include
#define ll long long
using namespace std;
ll n,m,s,u[200005],v[200005],w[200005],d[100005],now[200005],before[200005];
bool in[200005];
queue q;
int main(){
cin>>n>>m>>s;
memset(now,-1,sizeof(now));
memset(before,-1,sizeof(before));
for(int i=1;i<=n;i++)
d[i]=2147483647;
for(int i=1;i<=m;i++){
cin>>u[i]>>v[i]>>w[i];
before[i]=now[u[i]];
now[u[i]]=i;
}
d[s]=0;
q.push(s);
while(!q.empty()){
int x=q.front();
q.pop();
in[x]=false;
for(int i=now[x];i!=-1;i=before[i]){
if(d[v[i]]>d[x]+w[i]){
d[v[i]]=d[x]+w[i];
if(!in[v[i]]){
in[v[i]]=true;
q.push(v[i]);
}
}
}
}
for(int i=1;i<=n;i++)
cout<<d[i]<<" ";
return 0;
}