外卖店优先级

news2024/9/24 17:47:23


题目描述
”饱了么”外卖系统中维护着N 家外卖店,编号1~N。每家外卖店都有一个优先级,初始时(0时刻)优先级都为0。
每经过1个时间单位,如果外卖店没有订单,则优先级会减少1,最低减到0;而如果外卖店有订单,则优先级不减反加每有一单优先级加2。
如果某家外卖店某时刻优先级大于 5,则会被系统加入优先缓存中;如果优先级小于等于3,则会被清除出优先缓存
给定T时刻以内的M条订单信息,请你计算T时刻时有多少外卖店在优先缓存中?
输入描述
第一行包含3个整数N,M,T
以下M 行每行包含两个整数 ts,id,表示ts 时刻编号id的外卖店收到一个订单。
其中,1<N,M,T<105,1< ts < T,1<id<N
输出描述
输出一个整数代表答案

import os
import sys

# 请在此输入您的代码
n,m,t=map(int,input().split())

#订单
orders=[]

#输入订单
for i in range(m):
  order=list(map(int,input().split()))
  orders.append(order)  #[[1,1],[5,2].....]

#根据时间排序
orders.sort(key=lambda a : a[0])

#创建优先级,时间,优先级缓存标志初始列表
priors=[0 for i in range(n)]
times=[0 for i in range(n)]
flags=[0 for i in range(n)]

#对所有订单遍历
for i in range(m):
  time=orders[i][0]  #订单的时间
  id=orders[i][1]-1  #将id(外卖店编号)也变成从0开始

  #如果订单时间与上一刻时间不同,优先级减少
  if time !=times[id]:
    priors[id]-=time-times[id]-1  #-1原因:不包括当前时刻,从3时刻到5时刻,只有经过4时刻优先级减少

  if priors[id]<0:
    priors[id]=0
  
  if priors[id]<=3:
    flags[id]=0

  #接到订单优先级+2
  priors[id]+=2

  if priors[id]>5:
    flags[id]=1

  #时间替换
  times[id]=time

#对后面没有订单时间优先级计算
for i in range(n):
  if times[i] != t:
    priors[i]-=t-times[i]

  if priors[i]<0:
    priors[i]=0

  if priors[i]<=3:
    flags[i]=0
  


print(sum(flags))



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1483394.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mysql8.0安装(zip版本)最详细

下载 https://dev.mysql.com/downloads/mysql/ 解压 [mysqld] # 设置3306端口 port3306 # 设置mysql的安装目录 basedirD:\Atools\mysql-8.0.30-winx64 # 切记此处一定要用双斜杠\\&#xff0c;单斜杠我这里会出错&#xff0c;不过看别人的教程&#xff0c;有的是单斜杠。自己…

Java基于SpringBoot的在线文档管理系统的设计与实现论文

摘 要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;在线文档管理当然也不能排除在外。在线文档管理系统是以实际运用为开发背景&#xff0c;运用软件工程原理和开发方法&am…

基于springboot+vue的乐享田园系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

QT编写的程序需要打开远程主机的GUI的配置事项

1.首先通过输入指令进行远程登录: ssh -X 主机名主机地址或者ssh -Y 主机名主机地址 ​编辑 2.在远程主机上输入指令: env |grep DISPLAY ​编辑 3.得到DISPLAY参数值后进入到QT的RUN Environment参数配置栏配置如下图所示: ​编辑 在工具包的“运行”选项中&#xff0c;进…

现货商品国际挂牌撮合系统功能说明书

现货商品国际挂牌撮合系统功能说明书 一、系统概述 现货商品国际挂牌撮合系统是一个基于互联网技术的电子交易平台&#xff0c;旨在为全球现货商品买卖双方提供高效、透明、公正的撮合服务。该系统通过先进的撮合算法和交易规则&#xff0c;确保交易的快速匹配和成交&#xf…

基于pytorch实现手写数字识别

1&#xff0c;先安装pytorch&#xff0c;在pytorch环境中安装库&#xff1a; 1&#xff09;进入所安装的pytorch环境&#xff0c;我的是pytorch 所以激活它&#xff1a; conda activate pytorch 2&#xff09;使用pip安装numpy,torch,torchvision,matplotlib库 pip instal…

鸿蒙开发案例:进京赶考(4)

系列文章目录 鸿蒙开发案例&#xff1a;进京赶考&#xff08;1&#xff09; 鸿蒙开发案例&#xff1a;进京赶考&#xff08;2&#xff09; 鸿蒙开发案例&#xff1a;进京赶考&#xff08;3&#xff09; 鸿蒙开发案例&#xff1a;进京赶考&#xff08;4&#xff09; 案例介绍…

计算机服务器中了mallox勒索病毒怎么解密,mallox勒索病毒解密流程

科技技术的第一生产力&#xff0c;网络技术的不断发展与应用&#xff0c;让企业逐步走向数字化时代&#xff0c;通过网络的力量可以为企业更好地开展各项业务工作&#xff0c;网络数据安全问题也由此成为众多企业关心的主要话题。近日&#xff0c;云天数据恢复中心接到某化工集…

Python + Appium 自动化操作微信入门看这一篇就够了

Appium 是一个开源的自动化测试工具&#xff0c;支持 Android、iOS 平台上的原生应用&#xff0c;支持 Java、Python、PHP 等多种语言。 Appium 封装了 Selenium&#xff0c;能够为用户提供所有常见的 JSON 格式的 Selenium 命令以及额外的移动设备相关的控制命令&#xff0c;…

5GC SBA架构

协议标准&#xff1a;Directory Listing /ftp/Specs/archive/23_series/23.501/ (3gpp.org) NF描述说明NSSFNetwork Slice Selection Function网络切片选择&#xff0c;根据UE的切片选择辅助信息、签约信息等确定UE允许接入的网络切片实例。NEF Network Exposure Function网络开…

Docker与虚拟机比较

在对比Docker和虚拟机前&#xff0c;先简单了解下虚拟化&#xff0c;明确Docker和虚拟机分别对应的虚拟化级别&#xff0c;然后对Docker和虚拟机进行比较。需要注意的是&#xff0c;Docker和虚拟机并没有什么可比性&#xff0c;而是Docker使用的容器技术和虚拟机使用的虚拟化技…

git介绍4.2

git(版本控制工具) 一、git 介绍 1、git是目前世界上最先进的分布式版本控制系统&#xff0c;可以有效&#xff0c;高速的处理从小到大的项目版本管理。 2、git是linux torvalds 为了帮助管理linux内核开发二开发的一个开放源码的版本控制软件。 3、git作用&#xff1a;更好…

【深度学习笔记】计算机视觉——图像增广

图像增广 sec_alexnet提到过大型数据集是成功应用深度神经网络的先决条件。 图像增广在对训练图像进行一系列的随机变化之后&#xff0c;生成相似但不同的训练样本&#xff0c;从而扩大了训练集的规模。 此外&#xff0c;应用图像增广的原因是&#xff0c;随机改变训练样本可以…

Java宝典-类和对象

目录 1.面向对象1.1 面向过程与面向对象 2. 类的定义和使用2.1 如何定义类3.类的实例化4.this引用5.构造方法5.1 什么是构造方法5.2 构造方法的特点 6.包6.1 导包6.2 自定义包 7.封装8.访问限定符9.static9.1 static修饰的成员变量9.2 static修饰的成员方法 10.代码块10.1 普通…

大数据信用报告如何查询?有哪些需要注意的?

大数据信用对于有资金周转的人来说是比较重要的&#xff0c;主要由于大数据信用无形的被不少机构用于贷前风控&#xff0c;无论是机构要求的还是自查&#xff0c;提前了解大数据信用情况是常规操作&#xff0c;那大数据信用报告如何查询?有哪些需要注意的呢?本文详细为大家讲…

Linux使用基础命令

1.常用系统工作命令 (1).用echo命令查看SHELL变量的值 qiangziqiangzi-virtual-machine:~$ echo $SHELL /bin/bash(2).查看本机主机名 qiangziqiangzi-virtual-machine:~$ echo $HOSTNAME qiangzi-virtual-machine (3).date命令用于显示/设置系统的时间或日期 qiangziqian…

数据结构篇十:红黑树

文章目录 前言1. 红黑树的概念2. 红黑树的性质3. 红黑树节点的定义4. 红黑树的插入4.1 情况一&#xff1a; cur为红&#xff0c;p为红&#xff0c;g为黑&#xff0c;u存在且为红4.2 情况二: cur为红&#xff0c;p为红&#xff0c;g为黑&#xff0c;u不存在/u存在且为黑。4.2.1 …

图论 - Trie树(字符串统计、最大异或对)

文章目录 前言Part 1&#xff1a;Trie字符串统计1.题目描述输入格式输出格式数据范围输入样例输出样例 2.算法 Part 2&#xff1a;最大异或对1.题目描述输入格式输出格式数据范围输入样例输出样例 2.算法 前言 本篇博客将介绍Trie树的常见应用&#xff0c;包括&#xff1a;Trie…

30道python自动化测试面试题(全)

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 关注公众号【互联网杂货铺】&#xff0c;回复 1 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 1、什么项目适合做自动化测试&#xff1f; 关键字&#xff1a;…

【Pytorch】论文复现 Vision Transformer (ViT)

文章目录 0. 进行设置1. 获取数据2. 创建Dataset和DataLoader3. 复现 ViT 论文&#xff1a;概述4. Equation 1: 将数据拆分为 patch 并创建类、位置和 patch 嵌入5. Equation 2: Multi-Head Attention (MSA)6. Equation 3: Multilayer Perceptron (MLP)7. 创建 Transformer 编码…