蓝桥杯-外卖店优先级

 代码及其解析

#include<bits/stdc++.h>
using namespace std;
const int N=100010;

int order[N];  //order[id]  第id号店上一次的订单,记录的是时间 
int prior[N];  //prior[id]  第id号店的优先级
int flag[N];   //flag[id]   第id号店在不在优先缓存中

struct node{
    int time,id;
}a[N];

bool cmp(node a, node b){
    if(a.id==b.id)
        return a.time<b.time;
    return a.id<b.id;
}//排序 

int main(){
    int m,n,T;  
	cin>>n>>m>>T;
    for(int i=0;i<m;i++)
        cin>>a[i].time>>a[i].id;
    sort(a,a+m,cmp); //按时间排序
    for(int i=0;i<m;i++){
        int tt=a[i].time,  id=a[i].id;
        if(tt != order[id])  //如果当前订单不等于上一次的订单,则减去它们之间的间隔
            prior[id] -= tt-order[id]-1;
        prior[id] = prior[id] < 0 ? 0: prior[id];  //不小于0
        if(prior[id]<=3)  flag[id]=0;
        prior[id]+=2;
        if(prior[id]> 5)  flag[id]=1;
        order[id]=tt;//赋上上一个时间 
    }
    for(int i=1;i<=n;i++)  //最后处理第T时刻
        if(order[i]<T){
            prior[i] -= T-order[i];
            if(prior[i]<=3)
                flag[i]=0;
        }

    int ans=0;
    for(int i=0;i<=n;i++)
        if(flag[i])
            ans++;
    cout<<ans;
    return 0;
}

相关推荐

  1. 算法题:优先级

    2024-04-09 21:32:01       13 阅读
  2. [ 2019 省 A] 优先级(模拟)

    2024-04-09 21:32:01       21 阅读
  3. P8685 [ 2019 省 A] 优先级

    2024-04-09 21:32:01       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-09 21:32:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-09 21:32:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-09 21:32:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-09 21:32:01       20 阅读

热门阅读

  1. SQL语言

    SQL语言

    2024-04-09 21:32:01      15 阅读
  2. 如何使用Docker容器化改善你的开发流程

    2024-04-09 21:32:01       15 阅读
  3. == 和 ===什么区别呀?

    2024-04-09 21:32:01       17 阅读
  4. Pandas追加写入文件的时候写入到了第一行

    2024-04-09 21:32:01       13 阅读
  5. 程序员如何利用副业实现财务自由

    2024-04-09 21:32:01       16 阅读
  6. C++逻辑运算符

    2024-04-09 21:32:01       13 阅读