Codeforces 978E:Bus Video System

题目链接:http://codeforces.com/problemset/problem/978/E

题意

一辆公交车,在每站会上一些人或下一些人,车的最大容量为w,问初始车上可能有的乘客的情况数。

思路

找到公交车在路上的最大乘客数和最小乘客数,然后计算最大容量减去最大乘客数,加上最小乘客数的值。如果该值小于0,输出0

AC代码

#include <stdio.h>
#include <string.h>
#include <iostream>
#include <algorithm>
#include <math.h>
#include <limits.h>
#include <map>
#include <stack>
#include <queue>
#include <vector>
#include <set>
#include <string>
#define ll long long
#define ms(a) memset(a,0,sizeof(a))
#define pi acos(-1.0)
#define INF 0x3f3f3f3f
const double E=exp(1);
const int maxn=1e6+10;
using namespace std;
int sum[maxn];
int main(int argc, char const *argv[])
{
	ios::sync_with_stdio(false);
	int n,m;
	cin>>n>>m; 
	int _=0;
	int __=0;
	int x;
	for(int i=1;i<=n;i++)
	{
		cin>>x;
		sum[i]=sum[i-1]+x;
		_=min(_,sum[i]);
		__=max(__,sum[i]);
	}
	cout<<max(0,m-__+_+1)<<endl;
	return 0;
}
原文地址:https://www.cnblogs.com/Friends-A/p/10324393.html