Submission #19233

#TimeUsernameProblemLanguageResultExecution timeMemory
19233middleageddr올림픽 피자 (tutorial5)C++98
0 / 100
1000 ms1472 KiB
#include "pizza.h" int order_num; int remained[8]; int order[100000]; int completed_order; int trans[8] = { 1, 2, 4, 8, 16, 32, 64, 128 }; void Init() { int i; order_num = 0; completed_order = -1; for (i = 0; i < 100000; i++) { order[i] = 0; } for (i = 0; i < 8; i++) { remained[i] = 0; } } void Order(int N, int *A) { int i, j, k, need; need = 0; for (i = 0; i < N; i++) { j = *(A + i); if (!remained[j]) { need = need | trans[i]; } } if (need) { order[order_num] = need; } else { for (i = 0; i < N; i++) { j = *(A + i); remained[j]--; } Bake(order_num); if (completed_order == order_num - 1) completed_order = order_num; } order_num++; } void Delivery(int I) { int i, j, k, need; remained[I]++; if (remained[I] >= 2) return; need = 0; for (i = completed_order + 1; i < order_num; i++) { if (order[i] & trans[I]) { for (j = 0; j < 8; j++) { if (order[i] & trans[j]) { if (!remained[j]) need = need | trans[j]; } } if (!need) break; } } if (!need) { for (j = 0; j < 8; j++) if (order[i] & trans[j]) remained[j]--; Bake(i); if (completed_order == order_num - 1) completed_order = order_num; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...