搜索
热搜: NOIP OIer 神牛
查看: 24|回复: 0

1785(x)

[复制链接]

主题

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2025-5-10 14:11:28 | 显示全部楼层 |阅读模式
本帖最后由 程子 于 2025-5-10 14:14 编辑

#include<bits/stdc++.h>
using namespace std;
#define MAX_N 9999
#define MAX_NAME 10
struct task{
    char name[MAX_N+1];
    int time;
};
task t[MAX_N+1];
int front=0;
int rear=0;
int initqueue(){
    front=rear=0;
    return 0;
}
bool isfull(){
    return (rear+1)%(MAX_N+1)==front;
}
bool isempty(){
    return rear==front;
}
int enqueue(task e){
    if(isfull()){
        return -1;
    }
    t[rear]=e;
    rear=(rear+1)%(MAX_N+1);
    return 0;
}
int dequeue(task &e){
    if(isempty()){
        return -1;
    }
    e=t[front];
    front=(front+1)%(MAX_N+1);
    return 0;
}
int main(){
        int n,q;
    cin>>n>>q;
    initqueue();
    task tmp;
    for(int i=0;i<n;i++){
        cin>>tmp.name>>tmp.time;
        enqueue(tmp);
    }
    int time=0;
    while(!isempty()){
        dequeue(tmp);
        if(tmp.time>q){
            time+=q;
            tmp.time=tmp.time-q;
            enqueue(tmp);
        }
        else{
            time+=tmp.time;
            cout<<tmp.name<<" "<<time<<'\n';
        }
    }
    return 0;
}hhhbhfhvjrvhhjf

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

津ICP备19006949号-1 | 津公网安备12010102000465号

快速回复 返回顶部 返回列表