Submission #40746170
Source Code Expand
#include<bits/stdc++.h>
#define rep(i,a,b) for(int i=(a);i<=(b);i++)
#define per(i,a,b) for(int i=(a);i>=(b);i--)
#define op(x) ((x&1)?x+1:x-1)
#define odd(x) (x&1)
#define even(x) (!odd(x))
#define lc(x) (x<<1)
#define rc(x) (lc(x)|1)
#define lowbit(x) (x&-x)
#define mp(x,y) make_pair(x,y)
typedef long long ll;
typedef unsigned long long ull;
typedef double db;
using namespace std;
const int MAXN=2010;
int n,a[MAXN];
vector<int>e[MAXN],g[MAXN],S[MAXN];
int deg[MAXN];
struct DSU{
int fa[MAXN];
void init(int n){iota(fa+1,fa+1+n,1);}
int find(int x){return (fa[x]==x)?(x):(fa[x]=find(fa[x]));}
void merge(int x,int y){fa[find(x)]=find(y);}
}dsu;
void link(int x,int y){
dsu.merge(x,y);
e[x].push_back(y);e[y].push_back(x);
}
void glink(int x,int y){
g[x].push_back(y);deg[y]++;
}
int dfn[MAXN],dtot;
void dfs(int u){
dfn[u]=++dtot;
for(auto v:e[u]){
if(!dfn[v]){
dfs(v);
}
}
}
void pre_solve(int x){
int rt=S[x][0];
for(auto u:S[x])if(a[u] < a[rt])rt=u;
dfs(rt);
for(auto u:S[x])for(auto v:e[u])if(u<v){
if(dfn[u] < dfn[v])glink(u,v);
else glink(v,u);
}
}
priority_queue<int>pq;
int ans[MAXN],cur;
int main(){
cin>>n;
dsu.init(n);
rep(i,1,n)cin>>a[i];
sort(a+1,a+1+n);
rep(i,1,n)rep(j,i+1,n){
if(__gcd(a[i],a[j]) > 1){
link(i,j);
}
}
rep(i,1,n)S[dsu.find(i)].push_back(i);
rep(i,1,n)if(dsu.find(i) == i)pre_solve(i);
rep(i,1,n)if(!deg[i])pq.push(i);
while(pq.size()){
int u=pq.top();pq.pop();
ans[++cur]=u;
for(auto v:g[u]){
deg[v]--;
if(!deg[v])pq.push(v);
}
}
rep(i,1,n)cout<<a[ans[i]]<<" ";
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | E - Rearranging |
| User | Crying |
| Language | C++ (GCC 9.2.1) |
| Score | 1600 |
| Code Size | 1688 Byte |
| Status | AC |
| Exec Time | 308 ms |
| Memory | 26472 KB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 1600 / 1600 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample1.txt, sample2.txt |
| All | sample1.txt, sample2.txt, in1.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, in19.txt, in2.txt, in20.txt, in21.txt, in22.txt, in23.txt, in24.txt, in25.txt, in26.txt, in27.txt, in28.txt, in29.txt, in3.txt, in30.txt, in31.txt, in32.txt, in33.txt, in34.txt, in35.txt, in36.txt, in37.txt, in38.txt, in39.txt, in4.txt, in40.txt, in41.txt, in42.txt, in43.txt, in44.txt, in45.txt, in5.txt, in6.txt, in7.txt, in8.txt, in9.txt, sample1.txt, sample2.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| in1.txt | AC | 306 ms | 17036 KB |
| in10.txt | AC | 302 ms | 17620 KB |
| in11.txt | AC | 249 ms | 5164 KB |
| in12.txt | AC | 250 ms | 5196 KB |
| in13.txt | AC | 247 ms | 5236 KB |
| in14.txt | AC | 252 ms | 5248 KB |
| in15.txt | AC | 249 ms | 5276 KB |
| in16.txt | AC | 274 ms | 26332 KB |
| in17.txt | AC | 274 ms | 26368 KB |
| in18.txt | AC | 272 ms | 26340 KB |
| in19.txt | AC | 275 ms | 26340 KB |
| in2.txt | AC | 304 ms | 16864 KB |
| in20.txt | AC | 273 ms | 26472 KB |
| in21.txt | AC | 192 ms | 3628 KB |
| in22.txt | AC | 192 ms | 3800 KB |
| in23.txt | AC | 193 ms | 3824 KB |
| in24.txt | AC | 190 ms | 3680 KB |
| in25.txt | AC | 190 ms | 3816 KB |
| in26.txt | AC | 251 ms | 5164 KB |
| in27.txt | AC | 251 ms | 5240 KB |
| in28.txt | AC | 248 ms | 5324 KB |
| in29.txt | AC | 250 ms | 5252 KB |
| in3.txt | AC | 300 ms | 16708 KB |
| in30.txt | AC | 252 ms | 5296 KB |
| in31.txt | AC | 3 ms | 3644 KB |
| in32.txt | AC | 2 ms | 3716 KB |
| in33.txt | AC | 7 ms | 3564 KB |
| in34.txt | AC | 230 ms | 3836 KB |
| in35.txt | AC | 219 ms | 3756 KB |
| in36.txt | AC | 265 ms | 7364 KB |
| in37.txt | AC | 266 ms | 7268 KB |
| in38.txt | AC | 270 ms | 7312 KB |
| in39.txt | AC | 267 ms | 7492 KB |
| in4.txt | AC | 308 ms | 16744 KB |
| in40.txt | AC | 265 ms | 7280 KB |
| in41.txt | AC | 264 ms | 7416 KB |
| in42.txt | AC | 267 ms | 7196 KB |
| in43.txt | AC | 264 ms | 7512 KB |
| in44.txt | AC | 267 ms | 7276 KB |
| in45.txt | AC | 265 ms | 7276 KB |
| in5.txt | AC | 305 ms | 16452 KB |
| in6.txt | AC | 305 ms | 17192 KB |
| in7.txt | AC | 301 ms | 17524 KB |
| in8.txt | AC | 303 ms | 17372 KB |
| in9.txt | AC | 303 ms | 16640 KB |
| sample1.txt | AC | 2 ms | 3688 KB |
| sample2.txt | AC | 2 ms | 3684 KB |