首页 > 其他 > 详细

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

时间:2017-08-09 20:52:40      阅读:225      评论:0      收藏:0      [点我收藏+]

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;
}

 

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

原文:http://www.cnblogs.com/TSHugh/p/7327406.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!