1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

题解思路与方法

1. 问题分析

本题要求模拟一个工作队列的运作过程,工作队列有最大长度限制,当队列满时新任务会导致最老的任务被丢弃。执行者从1开始编号,执行者会从队列中取出任务并执行。任务执行完成的时刻由提交时刻和任务执行时间决定。

输入包括任务提交时刻和任务执行时间的序列,以及工作队列的最大长度和执行者数量。我们的目标是输出最后一个任务完成的时刻以及丢弃的任务数量。

2. 模拟过程

P2977.模拟工作队列(100分)

    1000ms Tried: 298 Accepted: 65 Difficulty: 5 所属公司 : 华为od
    算法与标签>模拟

题目内容

让我们来模拟一个工作队列的运作,有一个任务提交者和若干任务执行者,执行者从111开始编号。

  • 提交者会在给定的时刻向工作队列提交任务,任务有执行所需的时间,执行者取出任务的时刻加上执行时间即为任务完成的时刻。
  • 执行者完成任务变为空闲的时刻会从工作队列中取最老的任务执行,若这一时刻有多个空闲的执行者,其中优先级最高的会执行这个任务。编号小的执行者优先级高。初始状态下所有执行者都空闲。
  • 工作队列有最大长度限制,当工作队列满而有新的任务需要加入队列时,队列中最老的任务会被丢弃。
  • 特别的,在工作队列满的情况下,当执行者变为空闲的时刻和新的任务提交的时刻相同时,队列中最老的任务被取出执行,新的任务加入队列。

输入描述

输入为两行。第一行为2N2N2N个正整数,代表提交者提交的NNN个任务的时刻和执行时间。第一个数字是第一个任务的提交时刻,第二个数字是第一个任务的执行时间,以此类推。用例保证提交时刻不会重复,任务按提交时刻升序排列。

第二行为两个数字,分别为工作队列的最大长度和执行者的数量。

两行的数字都由空格分隔。NNN不超过202020,数字为不超过100010001000的正整数。

输出描述

输出两个数字,分别为最后一个任务执行完成的时刻和被丢弃的任务的数量,数字由空格分隔

样例1

输入

1 3 2 2 3 3
3 2

输出

7 0

样例2

输入

1 6 2 4 4 3 6 3
1 2

输出

10 0

样例3

输入

1 6 2 4 3 3 4 3 6 3
1 2

输出

10 1

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 0, 490ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?