Submission

Status:

(-SSSSSSSSSSSS)(-SSSSSSSS)(-SSSSSSSSS)(-SSSSSSSSS)(-SSSSSSSSSSSSS)(-SSSSSSSSSSSSSSSSSS)(xSSSSSSSSSSSSSSSSSSSSS)

Subtask/Task Score:

{0/4}{0/4}{0/5}{0/7}{0/25}{0/34}{0/21}

Score: 0

User: hyyh

Problemset: ร้านปลอดภาษี (Duty Free)

Language: cpp

Time: 0.507 second

Submitted On: 2026-03-14 19:31:00

#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-1;
}