123456

#include
#include
#include<unordered_map>
#include
using namespace std;
struct node
{
int BeverageType,isSupply;
};
vector orderInfo[20005];
vector beverageInfo[11];
set<pair<int,int>> sortOrder;
unordered_map<int,int> orderId;
int n,flag,num,orderNum[200005];
void init(int N){
flag=0;
n=N;
num=0;
orderId.clear();
sortOrder.clear();
for(int i=0;i<n;i++){
beverageInfo[i].clear();
}
}

int order(int mID,int M,int mBeverages[]){
orderId[mID]=flag;
for(int i=0;i<M;i++){
orderInfo[flag],push_back({0,mBeverages[i]});
beverageInfo[mBeverages[i]].push_back(flag);
}
sortOrder.insert({flag,M});
orderNum[flag]=M;
flag++;
num++;
return num;
}

int supply(int mBeverage){
int idx=*beverageInfo[mBeverage].begin();
int res=orderId[idx];
for(auto it=orderInfo[idx].begin();it!=orderInfo[idx].end();it++){
if(it->first==mBeverage&&it->second!=1){
it->second=1;
orderNum[idx]–;
if(sortOrder.find({idx,orderInfo[idx].size()})!=sortOrder.end()){

        }
        
    }
}
return res;

}
int cancel(int mID){
int idx=orderId[mID];
sortOrder.erase();
//遍历beverageInfo[idx],找已经supply的数据,记录下来,
//再遍历整个beverageInfo,吧这些数据分配给别的id
orderId.erase(mID);

}
int getStatus(int mID){
int idx=orderId[mID];
return orderNum[idx];
}

ReSULT hurry(){
RESULT res;
int cnt=0;
for(auto it=sortOrder.begin();it!=sortOrder.end();it++){
cnt++;
res.cnt++;
res.IDs[i]=orderId[it->first];
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值