首页 > 试题广场 >

出模拟赛

[编程题]出模拟赛
  • 热度指数:1890 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
有三种难度的题目难度分别为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 <= 1018


输出描述:
一行一个数字表示答案
示例1

输入

2 2 1 2 2

输出

3

说明

三组分别是
E + EM + H
E + MH + H
EM + M + MH
头像 大厂算法岗必拿下
发表于 2021-09-17 06:38:36
从牌面上可以得到一个上面(单独上限) 然后总的牌面又可以得到一个上限。 这两个上限的最小 #include<bits/stdc++.h> using namespace std; //模拟赛 int main(){ long long E,EM,M,MH,H; cin 展开全文
头像 小牛冲冲冲jiang
发表于 2021-09-17 05:03:54
全程用 long 返回 e m h 和 五个加起来除以3 中的最小值如果没有em mh 可以理解 但是考虑到 例如0 6 0 1 6emh 6 7 6 min1 3这种重叠可能考虑到 mh 或者em不够分 但是事实证明是都够分的 import java.util.Scanner; import ja 展开全文