Submission
Status:
(PPPPP-SSSSSSS)(PPPPPPPPP)(-SSSSSSSSS)(-SSSSSSSSS)(PP-SSSSSSSSSSS)(PP-SSSSSSSSSSSSSSSS)(xSSSSSSSSSSSSSSSSSSSSS)
Subtask/Task Score:
{0/4}{4/4}{0/5}{0/7}{0/25}{0/34}{0/21}
Score: 4
User: hyyh
Problemset: ร้านปลอดภาษี (Duty Free)
Language: cpp
Time: 0.580 second
Submitted On: 2026-03-14 19:32:20
#include <vector>
#include <queue>
#include <iostream>
using namespace std;
// you can write more function here
int minimum_bag_rearrangement_time(std::vector<int> max_allowed_positions) {
int N = max_allowed_positions.size();
vector<queue<int>> vc(N);
for(int i{};i < N;i++) vc[max_allowed_positions[i]-1].emplace(i);
int ans = 0;
while(true){
ans++;
int cur = 0;
bool find = true;
for(int i{};i < N;i++){
if(cur < i) cur = i;
while(cur < N && vc[cur].empty()) cur++;
if(cur >= N) break;
vc[cur].pop();
find = false;
}
if(find) break;
}
return ans-2;
}