【NOIP模拟赛】Evensgn 的债务 乱搞

biubiu~~~

我们发现按照这道题的题意我们把一个个人的前后(欠钱,被欠钱)都缩一下,那么他对其他人没有影响,那么我们就可以依次缩完每个人,而且每个人最后的状态都是要买欠要么被欠,那么我们可以知道他的钱数而且一下子就知道了...........

论数据范围把10^6看成106的悲伤........

#include <cstdio>
namespace pre{
  inline void read(int &sum){
    register char ch=getchar();
    for(sum=0;ch<'0'||ch>'9';ch=getchar());
    for(;ch>='0'&&ch<='9';sum=(sum<<1)+(sum<<3)+ch-'0',ch=getchar());
  }
}
namespace P=pre;
namespace wq{
  int n,m;
  int a[1000100];
  inline void Work(){
    using P :: read;
    read(n),read(m);
    for(int i=1,A,B,C;i<=m;i++){
      read(A),read(B),read(C);
      a[A]-=C,a[B]+=C;
    }
  }
}
int main(){
  wq::Work();
  int ans=0;
  for(int i=1;i<=wq::n;i++){
    if(wq::a[i]>0)
      ans+=wq::a[i];
  }
  printf("%d",ans);
  return 0;
}
原文地址:https://www.cnblogs.com/TSHugh/p/7327406.html