Petya and Exam【Codeforces 1282 C】【贪心】

2023-11-01

Codeforces Round #610 (Div. 2) C


  有N道题目,题目有简单与困难之分,简单的题目花费A分钟,困难的题目花费B分钟,那么考试时间一共有T的情况下,我们是可以提前交卷的,但是有些时间限制,就是譬如说你现在第x分钟交卷,但是你这时候就是必须要完成所有的t[i]≤x的题目才行,不然就使算作0分。

  所以,这里直接按照限制时间t[i]升序排列来进行贪心即可。每次看看能不能补充额外的,譬如说现在的时间还能多出来做几道简单题之类的。

#include <iostream>
#include <cstdio>
#include <cmath>
#include <string>
#include <cstring>
#include <algorithm>
#include <limits>
#include <vector>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <unordered_map>
#include <unordered_set>
#define _ABS(x, y) ( x > y ? (x - y) : (y - x) )
#define lowbit(x) ( x&( -x) )
#define pi 3.141592653589793
#define e 2.718281828459045
#define INF 0x3f3f3f3f
#define efs 1e-7
#define HalF (l + r)>>1
#define lsn rt<<1
#define rsn rt<<1|1
#define Lson lsn, l, mid
#define Rson rsn, mid+1, r
#define QL Lson, ql, qr
#define QR Rson, ql, qr
#define myself rt, l, r
#define MP(a, b) make_pair(a, b)
using namespace std;
typedef unsigned long long ull;
typedef unsigned int uit;
typedef long long ll;
const int maxN = 2e5 + 7;
int N, T, A, B, easy, diff, op[maxN];
struct node
{
    int t, r, id;
    friend bool operator < (node e1, node e2) { return e1.r == e2.r ? e1.t < e2.t : e1.r < e2.r; }
}a[maxN];
int main()
{
    int Cas; scanf("%d", &Cas);
    while(Cas--)
    {
        scanf("%d%d%d%d", &N, &T, &A, &B);
        easy = diff = 0;
        for(int i=1; i<=N; i++)
        {
            a[i].id = i;
            scanf("%d", &a[i].t);
            op[i] = a[i].t;
            if(a[i].t) { a[i].t = B; diff++; }
            else { a[i].t = A; easy++; }
        }
        for(int i=1; i<=N; i++) scanf("%d", &a[i].r);
        int ans = 0, tmp;
        ll det;
        ll tim = 0, res;
        sort(a + 1, a + N + 1);
        a[N + 1].r = T + 1;
        for(int i=1; i<=N + 1 && tim <= T; i++)
        {
            if(tim < a[i].r)
            {
                res = a[i].r - tim - 1;
                tmp = i - 1;
                det = min(1LL * easy, res / A);
                res -= det * A;
                tmp += det;
                det = min(1LL * diff, res / B);
                tmp += det;
                ans = max(ans, tmp);
            }
            tim += a[i].t;
            if(op[a[i].id]) diff--;
            else easy--;
        }
        printf("%d\n", ans);
    }
    return 0;
}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Petya and Exam【Codeforces 1282 C】【贪心】 的相关文章

  • 【NOIP 2004 提高组】合并果子

    题就自己找啦 各大OJ上应该都有 题目 题目描述 在一个果园里 多多已经将所有的果子打了下来 而且按果子的不同种类分成了不同的堆 多多决定把所有的果子合成一堆 每一次合并 多多可以把两堆果子合并到一起 消耗的体力等于两堆果子的重量之和 可以
  • 1400*A. World Football Cup(模拟)

    Problem 19A Codeforces 解析 模拟 记录总得分 净胜球 进球数 坑点 其中注意净胜球是进球数的差 己方进球数 对手进球数 可以为负数 排序即可 include
  • Working routine【Codeforces 706 E】【二维链表】

    Codeforces Round 367 Div 2 E 可以说是一道模拟题了 写了有些时候 可能是太菜了吧 题意 给出一个原始矩阵 之后有Q次操作 我们将两个矩阵交换位置 题目中保证两个矩阵不相交 给出的是两个矩阵的左上方的端点 以及它们
  • 紫书《算法竞赛入门经典》

    紫书 算法竞赛入门经典 题目一览 第3章 数组和字符串 例题 UVA 272 TEX Quotes UVA 10082 WERTYU UVA 401 Palindromes UVA 340 Master Mind Hints UVA 158
  • codeforces Gym 101341 K Competitions

    Problem codeforces com gym 101341 problem K vjudge net contest 162325 problem K Meaning 有 n 场比赛 每一场有 开始时间 a 结束时间 b 价值 c
  • HDOJ 1052 Tian Ji -- The Horse Racing

    Tian Ji The Horse Racing Time Limit 2000 1000 MS Java Others Memory Limit 65536 32768 K Java Others Total Submission s 2
  • Codeforces Round #364 (Div. 2)【贪心、数学、尺取】

    Codeforces 701 A Cards 直接贪心即可 写法各异 include
  • Bracket Coloring

    Bracket Coloring 题意 给出一个括号序列 定义漂亮序列为匹配括号序列或者反转之后是匹配括号序列的序列 现在要求染色 使得相同颜色的括号组成漂亮序列 问最少需要多少种颜色即每个括号染的颜色 思路 这里可以用栈来匹配括号序列 因
  • Codeforces Round #589 (Div. 2)【数学 + 构造】

    A题 Distinct Digits 因为数的大小最长也就是5位 所以直接暴力求解即可 复杂度O 5 N include
  • Voting【Codeforces 1251 E1 && E2】【贪心】

    Educational Codeforces Round 75 Rated for Div 2 E2 Now elections are held in Berland and you want to win them More preci
  • BZOJ4345 [POI2016]Korale

    在病房里日题真是一种独特的体验 首先考虑求第一问 我们先把所有元素排序 我们用优先队列维护选数的集合 对每个集合维护集合里的元素的和v和最后一个元素 即最大的元素 lst 初始的时候我们把只包含最小元素的集合推入队列 那么我们取出一个队头元
  • Pineapple Incident【Codeforces 697 A】

    Codeforces Round 362 Div 2 A 简单题 include
  • LeetCode-1775. 通过最少操作次数使数组的和相等【贪心,数组,计数】

    LeetCode 1775 通过最少操作次数使数组的和相等 贪心 数组 计数 题目描述 解题思路一 让sum1
  • 1600*C. Slava and tanks(思维)

    解析 如果n为奇数 则偶数位为奇数位少 1 则先轰炸偶数位 再轰炸奇数位 再一次轰炸偶数位 如果n为偶数 则任意顺序 于是无论奇偶 全部按照 偶 奇 偶 轰炸 则总次数为 n n 2 下取整 include
  • 1489. 田忌赛马 (贪心,区间dp)

    题目 田忌赛马的故事 田忌每次输一局要付200元 赢一局获得200元 平局获得0元 问 田忌和齐王都有n匹马的情况下 最多可以获得多少元 1489 田忌赛马 AcWing题库 由于田忌赛马的故事背景 我们很快就能够想到合理的贪心策略 上等马
  • HDU--1050:Moving Tables (贪心)

    1 题目源地址 http acm hdu edu cn showproblem php pid 1050 2 解题思路 将每个输入的起始房间和结束房间转换为房间前面的区间 按区间起始位置从小到大排序 首先取第一个区间 后续如果有区间的起始位
  • gym 101505 CTU Open Contest 2016 G Orchard Division

    Problem codeforces com gym 101505 attachments vjudge net contest 187874 problem G Meaning 一个 m m 的网格 长 宽下标 0 m 1 里有 n 个点
  • BZOJ3425 Poi2013 Polarization

    最小值一定是n 1 每条边贡献一个答案 显然 首先我们要证明这道题的一个性质 最优解一定具有如下形式 以树的某一个重心 可以是任意一个 为根 根的每一个子树里的所有边要么都指向根 要么都指向叶子 引理 首先对于一棵树 我们把所有边的朝向反转
  • 【codeforces #290(div 1)】ABC题解

    A Fox And Names time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard o
  • [POI2007]砝码Odw

    看这数据范围就不太可DP的样子 考虑贪心 首先注意到题目里有对于任意两个砝码其中一个是另一个质量整数倍的条件 所以砝码质量的种类不超过log INF 考虑按质量从小到大把砝码往容器里放 这样的话所有的砝码和容器的质量都可以除以当前砝码质量然

随机推荐

  • 设计模式——代理模式

    代理模式概述 代理模式是Java开发中使用较多的一种设计模式 代理设计就是为其他对象提供一种代理以控制对这个对象的访问 代理类似中介的身份 应用场景 安全代理 屏蔽对真实角色的直接访问 远程代理 通过代理类处理远程方法调用 RMI 延迟加载
  • 调试HX711

    体重电路板HX711 1 下载程序 如果不正常用万用表测量输出电压是否正常 看BOOT键是否打开 RX TX是否接对 2 首先确保程序正确 I O口对应正确 3 连接体重计 如果串口接收数据不正常 首先检查称重传感器连线问题 然后用万用表测
  • Linux入门笔记-尚硅谷韩顺平-基础篇&实操篇

    文章目录 课程导论 基础篇 Linux入门 Linux介绍 Linux和Unix的关系 Linux和Windows比较 基础篇 Linux的目录结构 基本介绍 具体的目录结构 实操篇 vi和vim的使用 vi和vim的基本介绍 vi和vim
  • 节点编译问题 | FISCO BCOS开发问题排查

    1 源码编译慢 1 1 case1 先前没有编译过源码 修改 etc hosts文件 添加如下内容可加速依赖包的下载 140 82 113 4 github com 185 199 108 153 assets cdn github com
  • 【科普贴】SIM卡接口协议(ISO7816-3)详解

    一 SIM卡介绍 SIM Subscriber Identity Module 卡是GSM系统的移动用户所持有的IC卡 称为身份识别卡 SIM卡内部含有微处理器 它由CPU 8位 RAM 工作存储器 6 16KB ROM 程序存储器 3 8
  • Android.mk 语法详解

    Android mk 语法详解 转 http blog sina com cn s blog 602f8770010148ce html 0 Android mk简介 Android mk文件用来告知NDK Build 系统关于Source
  • 文件删不掉需要管理员权限?分享解决方法

    文件删不掉需要管理员权限 正常情况下 我们使用电脑时 遇到不需要的文件都可以直接手动删除 但有时候会出现无法删除文件的现象 提示 文件夹访问被拒绝 你需要提供管理员权限才能删除此文件 这时该怎么处理呢 下面就一起来看看吧 遇到需要管理员权限
  • 百度自动驾驶平台生态部负责人张亮:Apollo开放平台,连接技术场景 赋能人才生态

    社会的经济发展 国家政策的支持 科学技术的不断进步 消费者的购买热情 共同推动了自动驾驶行业的发展 自动驾驶汽车会使交通事故的发生率大大降低 方便更多的人开车出行 交通秩序变得更好 出行效率变得更高 2022年7月21日 由中国开源软件推进
  • kafka confluent schema registry 实现一个topic支持多个不同schema的表消费(包含报错信息及解决方式)

    背景 上篇文章已经说明confluent schema registry优点及如何实现 本文实现kafka confluent schema registry 一个topic多个不同结构的表消费需求 上篇文章 kafka Confluent
  • 【重构】-重复代码(duplicated Code)

    重构一 duplicated Code 重复代码 场景演义 议题一 同一个类的两个函数有相同代码片段 重构手法 Extract Method 把一段代码组织在一起并独立 放进一个独立函数中 并让函数名称解析该函数的用途 演义讲解 publi
  • 服务器终端辐射有多大,服务器辐射大吗

    如今很多人的工作岗位都是在服务器机房里 而大家最为担心的就是服务器机房会有辐射影响 那么服务器辐射大吗 接下来佰佰安全网来为大家讲解下吧 一 服务器机房辐射大吗 通常服务器机房都需要隔离 这是为什么呢 因为里面主机长时间开机 会散发出一定的
  • 2023校招4399笔试

    之前暑期实习投过一次 做的比较拉跨 这次感觉还可以 思路基本上差不多 就是具体的实现 二三题都是只写了一个最后的函数 不知道对不对 TCP服务端调用API顺序 应该是先绑定端口 再开始监听 接收到客户端请求建立连接 接受或发送数据 最后关闭
  • 分享一个查看css版本兼容性的网站: https://caniuse.com/

    最近在处理浏览器对img标签的图片是否会根据exif信息自动旋转的问题 发现了这个站点 https caniuse com 比如 image orientation https caniuse com search image orient
  • 重新安装系统Windows defender显示页面不可用解决方法

    重装系统后打开Windows安全中心出现 页面不可用 你的 IT 管理员已限制对此应用的某些区域的访问 并且你尝试访问的项目不可 用 有关详细信息 请与 IT 支持人员联系 个人电脑 第一种方法 无论是否安装三方杀毒软件 请您打开 控制面板
  • 计算机网络性能衡量

    1 速率 单位时间 s 内传输信息 bit 量 单位 KB s MB s Gb s K 10 3 M 10 6 G 10 9 一般表示的是理想的传输速率 2 带宽 计算机网络中的带宽和通信等领域的带宽概念不一样 计算机网络中的带宽是指数字信
  • python编写一个函数判断一个数是否为偶数_c语言中判断奇数偶数的函数_创建一个函数来检查Python中的偶数或奇数...

    c语言中判断奇数偶数的函数 In the below program we are creating a function named CheckEvenOdd it accepts a number and returns EVEN if
  • 【经典】数加 ·营销引擎之DSP详解------DSP 、SSP、RTB

    数加 营销引擎 帮助企业快速搭建或升级自有DSP ADN DMP系统 提供高质量的竞价 投放 受众定向 pCTR点击率预估 pCVR转化率预估 相关性评估等核心能力 准备工作 基础认知 DSP 信息流虽然诞生已久 但大热还是近两年的事情 一
  • 合并两个有序数组(C语言)

    让我们来看一下这道题的描述 题目描述 题目 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2 另有两个整数 m 和 n 分别表示 nums1 和 nums2 中的元素数目 请你合并 nums2 到 nums1 中 使合并后
  • torchvision.dataset下载CIFAR10报错解决方法

    使用dataset下载数据集时 出现错误 urllib error URLError urlopen error unknown url type https 考虑没有import ssl 遂补充以下命令 import ssl ssl cr
  • Petya and Exam【Codeforces 1282 C】【贪心】

    Codeforces Round 610 Div 2 C 有N道题目 题目有简单与困难之分 简单的题目花费A分钟 困难的题目花费B分钟 那么考试时间一共有T的情况下 我们是可以提前交卷的 但是有些时间限制 就是譬如说你现在第x分钟交卷 但是