URAL 1787 Turn for MEGA (贪心 + 模拟)

48 篇文章 0 订阅
16 篇文章 0 订阅

Turn for MEGA

Time limit: 1.0 second
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 ≤  kn ≤ 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;
}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值