116A.Tram

题目

在这里插入图片描述

翻译

题目

    线性王国只有一条电车线。它有n个车站。按电车行驶方向从1到n编号。在第 i i i个车站有 a a ai名乘客离开电车,有 b b bi名乘客进入电车。在到达第一个车站前,电车是空的。同样,当电车到达最后一个车站时,所有乘客都将离开电车,因此电车也将是空的。
    你的任务是计算出电车所需的最小容量,即电车内任何时刻乘客量都不会超过该容量。注意,到达每个车站时,要下车的乘客会在要上车的乘客上车前离开。

输入

    第一行为一个数 n n n(2 ≤ n n n ≤ 1000)一 电车车站数
    接下来n行每行包括2个整数 a a ai b b bi(0 ≤ a a ai b b bi ≤ 1000)一 在第 i i i个车站,要下车的乘客数和要上车的乘客数。数据是按电车运行经过的第一个车站到最后一个车站输入的。

  • 在到达车站前,要下车的乘客数不会超过车厢内的总乘客数。即公式: ∀ i ( 1 ≤ i ≤ n ) : ∑ j = 1 i − 1 b j − ∑ j = 1 i − 1 a j ≥ a i \quad\forall i(1 ≤ i ≤ n):\sum_{j=1}^{i-1} b_j - \sum_{j=1}^{i-1} a_j ≥ a_i i(1in):j=1i1bjj=1i1ajai 。并且 a a a1=0
  • 在最后一个车站,所有乘客将离开电车使电车变空。即公示 ∑ j = 1 n − 1 b j − ∑ j = 1 n − 1 a j = a n \sum_{j=1}^{n-1} b_j - \sum_{j=1}^{n-1} a_j = a_n j=1n1bjj=1n1aj=an
  • 最后一个车站时没有乘客会上车。即, b b bn = 0。

输出

    输出一个整数表示最小客容量(也可以是0)

分析

    即求出电车行驶过程中,车厢内乘客数的最大值,输出即可。

代码

#include<iostream>
using namespace std;
int main()
{
	int n;
	cin >> n;
	int a, b,cur=0, max = 0;
	while (n--)
	{
		cin >> a >> b;
		cur = cur + b - a;//更新当前车厢人数
		max = max > cur ? max : cur;//更新最大乘客数
	}
	cout << max;
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值