
#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;
}来判断
浙公网安备 33010602011771号