Submission #18574

#TimeUsernameProblemLanguageResultExecution timeMemory
18574jjhstop올림픽 피자 (tutorial5)C++98
0 / 100
76 ms1732 KiB
#include "pizza.h" #include <queue> using namespace std; int order_num; queue<int> Q[256]; int ingred[9]; int delivered; void Init() { order_num = 0; } void check(void) { while (1) { int chk = -1; for (int i = delivered; i > 0; i--) { if (!Q[i].empty() && (chk < 0 || Q[chk].front() > Q[i].front())) chk = i; } if (chk < 0) return; Bake(Q[chk].front()); Q[chk].pop(); for (int i = 0; i < 8; i++) { if (chk & (1 << i)) { if (--ingred[i] == 0) delivered ^= (1 << i); } } } } void Order(int N, int *A) { int ordering = 0; for (int i = 0; i < N; i++) { ordering |= (1 << A[i]); } Q[ordering].push(order_num); order_num++; check(); } void Delivery(int i) { ingred[i]++; if (ingred[i] == 1) { delivered |= (1 << i); } check(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...