Turn for MEGA
Time limit: 1.0 second
Memory limit: 64 MB
Memory limit: 64 MB
A traffic light at the turn for the “MEGA” shopping center from the Novomoskovskiy highway works in such a way that
k cars are able to take a turn in one minute. At weekends all the residents of the city drive to the mall to take a shopping, which results in a huge traffic jam at the turn. Administration of the mall ordered to install a camera at the nearby bridge, which is able to calculate the number of cars approaching this turn from the city. The observation started
n minutes ago. You should use the data from the camera to determine the number of cars currently standing in the traffic jam.
Input
The first line contains integers
k and
n (1 ≤
k,
n ≤ 100), which are the number of cars that can take a turn to “MEGA” in one minute and the number of minutes passed from the beginning of observation. The second line contains space-separated integers
a
1, …,
an (0 ≤
ai ≤ 100), where
aiis the number of cars that approached the turn during the
i-th minute. The observation started at morning, when there were no cars at the turn.
Output
Output the number of cars currently standing in the traffic jam.
Samples
input | output |
---|---|
5 3 6 7 2 | 0 |
5 3 20 0 0 | 5 |
题意:一个路口,可以同时允许k辆车调头,已知n分钟内到达该路口的车辆,问此时还有多少车辆堵在路上不能调头。
解析:按实际的情况模拟即可。该分钟没有通过的车辆,会堵在路口等待下分钟通行,但是即使该分钟通过的车辆不足k,下一分钟还没有来的车辆也不能补上!!!
AC代码:
#include <iostream>
#include <algorithm>
#include <cstdio>
using namespace std;
int main(){
#ifdef sxk
freopen("in.txt", "r", stdin);
#endif //sxk
int k, n, car;
while(cin>>k>>n){
int ans = 0; //当前未通过的车辆
for(int i=0; i<n; i++){
cin>>car;
if(ans + car > k) ans += car - k; //不能完全通过
else ans = 0;
}
cout<<ans<<endl;
}
return 0;
}