Problem Statement
In 2028 and after a continuous growth, AtCoder Inc. finally built an empire with six cities (City 1, 2, 3, 4, 5, 61,2,3,4,5,6)!
There are five means of transport in this empire:
- Train: travels from City 11 to 22 in one minute. A train can occupy at most AA people.
- Bus: travels from City 22 to 33 in one minute. A bus can occupy at most BB people.
- Taxi: travels from City 33 to 44 in one minute. A taxi can occupy at most CC people.
- Airplane: travels from City 44 to 55 in one minute. An airplane can occupy at most DD people.
- Ship: travels from City 55 to 66 in one minute. A ship can occupy at most EE people.
For each of them, one vehicle leaves the city at each integer time (time 00, 11, 22, ......).
There is a group of NN people at City 11, and they all want to go to City 66.
At least how long does it take for all of them to reach there? You can ignore the time needed to transfer.
Constraints
- 1 \leq N, A, B, C, D, E \leq 10^{15}1≤N,A,B,C,D,E≤1015
- All values in input are integers.
Input
Input is given from Standard Input in the following format:
NN AA BB CC DD EE
Output
Print the minimum time required for all of the people to reach City 66, in minutes.
Sample 1
Inputcopy | Outputcopy |
---|---|
5 3 2 4 3 5 | 7 |
One possible way to travel is as follows. First, there are N = 5N=5 people at City 11, as shown in the following image:
In the first minute, three people travels from City 11 to City 22 by train. Note that a train can only occupy at most three people.
In the second minute, the remaining two people travels from City 11 to City 22 by train, and two of the three people who were already at City 22 travels to City 33 by bus. Note that a bus can only occupy at most two people.
In the third minute, two people travels from City 22 to City 33 by train, and another two people travels from City 33 to City 44 by taxi.
From then on, if they continue traveling without stopping until they reach City 66, all of them can reach there in seven minutes.
There is no way for them to reach City 66 in 66 minutes or less.
Sample 2
Inputcopy | Outputcopy |
---|---|
10 123 123 123 123 123 | 5 |
All kinds of vehicles can occupy N = 10N=10 people at a time. Thus, if they continue traveling without stopping until they reach City 66, all of them can reach there in five minutes.
Sample 3
Inputcopy | Outputcopy |
---|---|
10000000007 2 3 5 7 11 | 5000000008 |
Note that the input or output may not fit into a 3232-bit integer type.
Sponsor
题解:当要通过全部道路时,只取决于最小的那一部分。其它的都相当于经过一次,因为不会人流不会在其它地方发生拥堵,而在最小的地方一
#include <bits/stdc++.h>
#include <math.h>
#include <string.h>
using namespace std;
const int N = 1e5+5;
const long long inf=1e15+5;
const int mod=1e9+7;
long long n,a[5];
long long p[N];
int main() {
scanf("%lld",&n);
long long mi=inf;
for(int i=1;i<=5;i++)
{
long long x;
cin>>x;
if(x<mi)mi=x;
}
if(n%mi==0)
printf("%lld\n",n/mi+4); //如果能被整除那么这个拥堵点相当于整体全都过去了
else printf("%lld\n",n/mi+5); //不能整除就+5
return 0; //整体来说就是向上取整
}
定是最拥堵的。
一个形象的比喻:一个水泵以15L/s进行输水,当它连上一个以12L/s的水泵时整体将变成12L/s。