Submission

Status:

(PPPPP-SSSSSSS)(TSSSSSSSS)(-SSSSSSSSS)(-SSSSSSSSS)(-SSSSSSSSSSSSS)(-SSSSSSSSSSSSSSSSSS)(P-SSSSSSSSSSSSSSSSSSSS)

Subtask/Task Score:

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

Score: 0

User: kungarooo

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

Language: cpp

Time: 1.078 second

Submitted On: 2025-11-01 23:01:48

#include <bits/stdc++.h>
using namespace std;
// you can write more function here

int own[2000001]={};//to where
int par(int idx){
    if(own[idx]==idx)return idx;
    own[idx]=par(own[idx]);
    return own[idx];
}
void reset(){
    for(int i=0;i<=2000000;i++){
        own[i]=i;
    }
}
int minimum_bag_rearrangement_time(vector<int> max_allowed_positions) {
  int sz=max_allowed_positions.size(),ans=0;
  //set<int> eridx;
  for(int i=0;i<=sz;i++){
    own[i]=i;
  }
  for(int i=0;i<sz;i++){
    int u=max_allowed_positions[i];
    par(own[u]);
    if(own[u]==0){
        ans++;
        reset();
    }
    own[own[u]]=par(own[u]-1);
  }
  return ans;
}