Submission
Status:
(PPPPPPPPPPPPP)(TSSSSSSSS)(PPPPPPPPPP)(PPPPPPPPPP)(PPPPPPPPPPPPPP)(PPPPPPPPPTSSSSSSSSS)(PPPPPPPPTSSSSSSSSSSSSS)
Subtask/Task Score:
{4/4}{0/4}{5/5}{7/7}{25/25}{0/34}{0/21}
Score: 41
User: kungarooo
Problemset: ร้านปลอดภาษี (Duty Free)
Language: cpp
Time: 1.097 second
Submitted On: 2025-11-01 23:13:13
#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(u);
if(own[u]==0){
//cout<<i<<":\n";
ans++;
reset();
}
own[own[u]]=par(own[u]-1);
}
return ans;
}