ProblemSets
SRM 657 · 2015-03-26 · by rng_58
SRM 657 · 2015-03-26 · by rng_58 · Simple Search, Iteration
Problem Statement
Problem Statement
Cat Snuke came up with some problems. He wants to construct as many problem sets as possible using those problems.
Each problem set must contain exactly three problems: one for the Easy slot, one for the Medium slot, and one for the Hard slot. Each problem can only be assigned to a single slot in a single problem set. He came up with E + EM + M + MH + H problems in total. The distribution of the problems is as follows:
- E problems can only be used in the Easy slot.
- EM problems can be used either in the Easy slot or the Medium slot.
- M problems can only be used in the Medium slot.
- MH problems can be used either in the Medium slot or the Hard slot.
- H problems can only be used in the Hard slot.
Constraints
- E, EM, M, MH, H will be between 0 and 1,000,000,000,000,000,000 (10^18), inclusive.
Examples
0)
2 2 1 2 2 Returns: 3
One of EM problems should be used for the Easy slot, and the other should be used for the Medium slot. One of MH problems should be used for the Medium slot, and the other should be used for the Hard slot.
1)
100 100 100 0 0 Returns: 0
Unfortunately, no problem can be used for the Hard slot.
2)
657 657 657 657 657 Returns: 1095
3)
1 2 3 4 5 Returns: 3
4)
1000000000000000000 1000000000000000000 1000000000000000000 1000000000000000000 1000000000000000000 Returns: 1666666666666666666
Submissions are judged against all 97 archived test cases, of which 5 are shown here. Case numbers match the judge’s.
Coding Area
Language: C++17 · define a public class ProblemSets with a public method long long maxSets(long long E, long long EM, long long M, long long MH, long long H) · 97 test cases · 2 s / 256 MB per case