小x的车间

来源:互联网 发布:阿里云快照和oss 编辑:程序博客网 时间:2024/04/27 19:00

题目描述

小X的家乡有一列在环形铁轨上行驶的火车,共停靠nn个站(11号站到nn号站顺时针排列)。

众所周知,春运是一件非常可怕的事情。不幸的是,小X是铁路公司的员工,现在他收到了mm条除夕凌晨的订票申请,每个申请(x,y,z)(x,y,z)表示有zz个人要从xx号站顺时针坐到yy号站。

现在小X想知道至少需要分配给这列火车多少节车厢(每节车厢可容纳 3636人)才能顺利完成该铁路运输,希望你帮帮他。

输入输出格式

输入格式:

第一行包含两个整数n,mn,m

接下来mm行,每行包含三个整数x,y,zx,y,z

输出格式:

第一行包含一个整数,表示至少需要分配给这列火车的车厢数。

输入输出样例

输入样例#1: 复制
3 21 2 362 3 36
输出样例#1: 复制
1

说明

• 对于 30% 的数据,n\leq 10^3,m\leq 10^4n103,m104

• 对于 100% 的数据,1\leq n,m\leq 10^61n,m106x\not= yx̸=y1\leq z\leq 100

1z100


差分。

#include<iostream>#include<algorithm>#include<cmath>#define f(i,l,r) for(i=(l);i<=(r);i++)using namespace std;const int MAXN=1000005;int n,m,sta[MAXN];int ans=0;int main(){ios::sync_with_stdio(false);int i,j,x,y,z;int res=0;cin>>n>>m;f(i,1,m){cin>>x>>y>>z;if(x<y){sta[x]+=z;sta[y]-=z;}else{sta[x]+=z;sta[1]+=z;sta[y]-=z;}}f(i,1,n){res+=sta[i];ans=max(ans,res); }cout<<(int)ceil(ans/36.0)<<endl;return 0;}


原创粉丝点击