题目三:有三种难度的题目,难度分别为Easy,Medium,Hard。现在你总共有E+EM+M+MH+H道题,各个字符串的含义如下:
1.E表示有E道题目难度为Easy
2.EM表示有EM道题目难度可以为Easy或Medium
3.M表示有M道题目难度为Medium
4.MH表示有MH道题目难度可以为Medium或Hard
5.H表示有H道题目难度为Hard
你要用这些题目出尽量多的模拟赛,为了保证题目质量且含有一定的区分度,每场模拟赛需要包含Easy,Medium,Hard三种难度的题目各一道,求你最多能出多少场模拟赛
输入描述:
一行五个整数E,EM,M,MH,H
0<=E+EM+M+MH+H<=10^18
输出描述:
一行一个数字表示答案
示例1:
输入:
2 2 1 2 2
输出: 3
说明:E+EM+H、E+MH+H、EM+M+MH
#include<iostream>
#include<algorithm>
using namespace std;
void printRes(long long a[], long long b) //打印结果
{
while (!(a[0] + a[1] == 0 || a[1] + a[2] + a[3] == 0 || a[3] + a[4] == 0))
//还可以组成模拟赛
{
//考虑E和EM,EM、M和MH,MH和H间,多的先挑选,减去
if (a[1] > a[0]) a[1]