#include<bits/stdc++.h>
using namespace std;
int sc[1000000],xc[1000000];//数组分别记录第i站上、下车的人数
int main() {
	int n,m,x,y,z;
	cin>>n>>m;
	for(int i=1; i<=m; i++) {//循环输入并设置上车、下车数组
		cin>>x>>y>>z; 
		sc[x]+=z; 
		xc[y]+=z;
		if(x>y) {
			sc[1]+=z;
		}
	}
	int zrs=0,zh=0;//存放当前的火车上的人数
	for(int j=1; j<=n; j++) {
		zrs+=sc[j];
		zrs-=xc[j];//循环模拟上下车
		zh=max(zh,zrs);//更新最多时的人数
	}
	//判断并输出所需车厢数
	if(zh%36!=0) {
		cout<<zh/36+1<<endl;
	} else {
		cout<<zh/36<<endl;
	}
	return 0;
}

  

 

 要考虑上车站在下车站 (转一圈的情况)所以用

if(x>y) {
			sc[1]+=z;
		}来判断
posted on 2020-04-16 13:40  月下诺  阅读(224)  评论(0编辑  收藏  举报

Live2D