Codeforces 846B Math Show

来源:互联网 发布:java开发电脑配置要求 编辑:程序博客网 时间:2024/06/06 17:00

题目链接:CF-846B

最近可能会狂水一波ab题。
题意及简单分析:有n个任务,每个任务有k个子任务,每个子任务需要一些时间去完成。这n个任务可以看成完全相同的,每个任务的子任务的花费时间相同,只与它们的下标相关。每完成一个子任务获得一分,完成一个大任务(包含k个子任务)可以额外获得一分,求在M时间内,可以获得的最大分数。
表述比较混乱,可以去链接里看看原题的描述。
可以看到,数据范围太小了,直接枚举+暴力就可以。
枚举完成的大任务的数量,然后其余的子任务按时间从小排序,依次完成。
#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <string.h>#include <algorithm>using namespace std;int main() {int n, k, M;scanf("%d %d %d", &n, &k, &M);int cost[50];int ans = 0;int sum = 0;for (int i = 0;i < k;++i)scanf("%d", &cost[i]);for (int i = 0;i < k;++i)sum += cost[i];sort(cost, cost + k);for (int i = 0;i <= n;++i) //enumberate every task to be completed{int time = M;int cur = i*sum;if (cur > time)break;else{int x = i*(k + 1);time -= cur;int left = n - i;for(int i=0;i<k;++i)for (int j = 1;j <= left;++j){if (time - cost[i] >= 0){time -= cost[i];x++;if (i == k - 1)x++;}}ans = max(ans, x);}}printf("%d\n", ans);return 0;}

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 高速过路费没交怎么办 24岁血压高怎么办 高压147低压110怎么办 宣武医院怎么办住院证 自主择业后悔了怎么办 建行app闪退怎么办 自己有房怎么办居住证 性格懒散不工作怎么办 脚受凉脚后跟疼怎么办 月子里脚着凉怎么办 腿着凉了疼怎么办 没有土地的农民怎么办 手机屁股坏了怎么办 包颈手术后睡中会勃起怎么办 武警义务兵训练不合格怎么办 空姐体检心率不齐怎么办 空姐体检差身高怎么办 锻炼过猛肌肉疼怎么办 中考体检有问题怎么办 想参军视力不够怎么办 公司体检查出乙肝怎么办 乙肝携带者福利体检怎么办 小孩没考好我该怎么办 客户考虑我该怎么办 明天中考 我该怎么办 考试考差了怎么办 没考上理想高中怎么办 我是差学生中考怎么办 衬衫后背鼓起来怎么办 高考体检表没了怎么办 高考体检视力不合格怎么办 高考体检转氨酶高怎么办 高考体检肝功能异常怎么办 高考体检有乙肝怎么办 高考体检有纹身怎么办 学校体检血压高怎么办 高考体检不属实怎么办 艺考身上有花臂怎么办 义务兵因病致残怎么办 新兵练成绩优秀怎么办 阿提拉部队得了瘟疫怎么办