Submission #10187083


Source Code Expand

/// https://atcoder.jp/contests/dwacon6th-prelims/tasks/dwacon6th_prelims_d
#include <bits/stdc++.h>
using namespace std;
#define in ({int x=0;int c=getchar(),n=0;for(;!isdigit(c);c=getchar()) n=(c=='-');for(;isdigit(c);c=getchar()) x=x*10+c-'0';n?-x:x;})
//mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
mt19937 rng(1);
int rnd(int l,int r){return l+rng()%(r-l+1);}
#define fasty ios_base::sync_with_stdio(0),cin.tie(0);
#define forinc(a,b,c) for(int a=b,_c=c;a<=_c;++a)
#define fordec(a,b,c) for(int a=b,_c=c;a>=_c;--a)
#define forv(a,b) for(auto&a:b)
#define fi first
#define se second
#define pb push_back
#define ii pair<int,int>
#define mt make_tuple
#define all(a) a.begin(),a.end()
#define reset(f, x) memset(f, x, sizeof(f))
#define bit(x,i) ((x>>(i-1))&1)
#define on(x,i) (x|(1ll<<(i-1)))
#define off(x,i) (x&~(1<<(i-1)))
#define gg exit(0);

const int N=100010;

int n;
int cnt[N],a[N];
set<int> st;
vector<int> ans;

void inc(int x){
    ans.pb(x);
    st.erase(x);
}
void dec(){
    st.insert(ans.back());
    ans.pop_back();
}

void dfs(int ban){
    if(ans.size()==n){
        forv(i,ans) cout<<i<<" ";
        gg
    }
    if(st.count(ban) && cnt[ban]==n-ans.size())
        return;
    cnt[ban]--;
    for(auto it=st.begin();it!=st.end();it++){
		if(*it==ban) continue;
		inc(*it);
		dfs(a[*it]);
		dec();
	}
	cnt[ban]++;
}

main(){
    #define task "arrangement"
    //freopen(task".inp","r",stdin);
    //freopen(task".out","w",stdout);

    if((n=in)==2) return cout<<-1,0;
    forinc(i,1,n) cnt[a[i]=in]++,st.insert(i);
    dfs(0);
}

Submission Info

Submission Time
Task D - Arrangement
User unx
Language C++14 (GCC 5.4.1)
Score 800
Code Size 1644 Byte
Status AC
Exec Time 116 ms
Memory 11008 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 800 / 800
Status
AC × 3
AC × 50
Set Name Test Cases
Sample sample_01, sample_02, sample_03
All hand2_01, hand2_02, hand2_03, hand2_04, hand_01, hand_02, hand_03, hand_04, handmaid_01, max_01, max_02, max_03, max_04, max_05, random_01, random_02, random_03, random_04, random_05, random_06, random_07, random_08, random_09, random_10, random_11, random_12, random_13, random_14, random_15, sample_01, sample_02, sample_03, small_01, small_02, small_03, small_04, small_05, special2_01, special2_02, special2_03, special2_04, special2_05, special2_06, special2_07, special2_08, special2_09, special2_10, special_01, special_02, special_03
Case Name Status Exec Time Memory
hand2_01 AC 1 ms 256 KB
hand2_02 AC 1 ms 256 KB
hand2_03 AC 116 ms 10624 KB
hand2_04 AC 115 ms 10624 KB
hand_01 AC 1 ms 256 KB
hand_02 AC 1 ms 256 KB
hand_03 AC 58 ms 11008 KB
hand_04 AC 58 ms 11008 KB
handmaid_01 AC 1 ms 256 KB
max_01 AC 44 ms 11008 KB
max_02 AC 44 ms 10880 KB
max_03 AC 44 ms 10880 KB
max_04 AC 45 ms 11008 KB
max_05 AC 44 ms 10624 KB
random_01 AC 1 ms 256 KB
random_02 AC 1 ms 256 KB
random_03 AC 1 ms 256 KB
random_04 AC 1 ms 256 KB
random_05 AC 1 ms 256 KB
random_06 AC 1 ms 256 KB
random_07 AC 1 ms 256 KB
random_08 AC 1 ms 256 KB
random_09 AC 1 ms 256 KB
random_10 AC 1 ms 256 KB
random_11 AC 1 ms 256 KB
random_12 AC 1 ms 256 KB
random_13 AC 1 ms 256 KB
random_14 AC 1 ms 256 KB
random_15 AC 1 ms 256 KB
sample_01 AC 1 ms 256 KB
sample_02 AC 1 ms 256 KB
sample_03 AC 1 ms 256 KB
small_01 AC 1 ms 256 KB
small_02 AC 1 ms 256 KB
small_03 AC 1 ms 256 KB
small_04 AC 1 ms 256 KB
small_05 AC 1 ms 256 KB
special2_01 AC 85 ms 10624 KB
special2_02 AC 76 ms 10624 KB
special2_03 AC 75 ms 10624 KB
special2_04 AC 81 ms 10624 KB
special2_05 AC 112 ms 10624 KB
special2_06 AC 90 ms 11008 KB
special2_07 AC 78 ms 11008 KB
special2_08 AC 79 ms 11008 KB
special2_09 AC 79 ms 11008 KB
special2_10 AC 93 ms 11008 KB
special_01 AC 1 ms 256 KB
special_02 AC 3 ms 768 KB
special_03 AC 45 ms 11008 KB