理解清楚题意的水题。
#include<stdio.h>
#include<string.h>
int abs(int x)
{
return x>=0?x:-x;
}
int a[100001];
int main(){
int i,n,m;
while(~scanf("%d%d",&n,&m)){
memset(a,0,sizeof(a));
int t=m;
while(t--){
int x,y,w;
scanf("%d%d%d",&x,&y,&w);
if(abs(x-y)==1){
if(a[y]==0) a[y]=w;
else if(w<a[y]) a[y]=w;
}
int flag=0,sum=0;
for(i=2;i<=n;i++)
{
if(a[i]==0) {flag=1;break;}
sum+=a[i];
}
if(flag) {printf("-1\n");continue;}
printf("%d\n",sum);
}
return 0;
}