Submission #10183919


Source Code Expand

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define forinc(i,a,b) for(int i=a;i<=b;++i)
#define fordec(i,a,b) for(int i=a;i>=b;--i)
#define forv(i,x) for(auto &i:x)
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
int rnd(int l,int r)
{
    return l+rng()%(r-l+1);
}
#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;})
#define pii pair<int,int>
#define fi first
#define se second
#define batbit(i,x) (x|(1ll<<i))
#define getbit(i,x) ((x>>i)&1)

const int mn=1e5+5;
int n,a[mn],kq[mn],cnt,dd[mn];
set<int> s;

main()
{
    //freopen("test.inp","r",stdin);

    cin >> n;
    forinc(i,1,n) cin >> a[i];
    if(n==2&&a[1]==2&&a[2]==1)
    {
        cout << -1;
        return 0;
    }
    forinc(i,1,n) s.insert(i);
    while(!s.empty())
    {
        int f=*s.begin();
        int tmp=a[f],ok=1;
        forv(v,s)
        {
            if(a[v]!=tmp)
            {
                ok=0;
                break;
            }
        }
        if(ok&&!dd[a[f]])
        {
            kq[++cnt]=a[f];
            dd[kq[cnt]]=1;
            s.erase(a[f]);
        }
        else
        {
            forv(v,s) if(a[kq[cnt]]!=v)
            {
                kq[++cnt]=v;
                break;
            }
            dd[kq[cnt]]=1;
            s.erase(kq[cnt]);
        }
        //cout << kq[cnt] << " ";
    }
    forinc(i,1,cnt) cout << kq[i] << " ";
}

Submission Info

Submission Time
Task D - Arrangement
User dzgod1905
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1546 Byte
Status TLE
Exec Time 2656 ms
Memory 9344 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 800
Status
AC × 3
AC × 20
TLE × 30
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 TLE 2655 ms 256 KB
hand2_02 TLE 2655 ms 256 KB
hand2_03 TLE 2656 ms 5760 KB
hand2_04 TLE 2656 ms 5760 KB
hand_01 TLE 2655 ms 256 KB
hand_02 TLE 2655 ms 256 KB
hand_03 TLE 2656 ms 7296 KB
hand_04 TLE 2655 ms 9344 KB
handmaid_01 TLE 2655 ms 256 KB
max_01 AC 66 ms 7808 KB
max_02 AC 297 ms 7808 KB
max_03 TLE 2656 ms 7040 KB
max_04 AC 91 ms 7808 KB
max_05 TLE 2656 ms 6016 KB
random_01 AC 1 ms 256 KB
random_02 TLE 2655 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 TLE 2655 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 TLE 2655 ms 256 KB
random_14 TLE 2655 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 TLE 2655 ms 256 KB
small_04 TLE 2655 ms 256 KB
small_05 AC 1 ms 256 KB
special2_01 TLE 2656 ms 5760 KB
special2_02 TLE 2656 ms 5760 KB
special2_03 TLE 2656 ms 5760 KB
special2_04 TLE 2656 ms 5760 KB
special2_05 TLE 2656 ms 5760 KB
special2_06 TLE 2655 ms 5888 KB
special2_07 TLE 2656 ms 6016 KB
special2_08 TLE 2656 ms 5760 KB
special2_09 TLE 2655 ms 7936 KB
special2_10 TLE 2656 ms 5888 KB
special_01 TLE 2655 ms 256 KB
special_02 TLE 2655 ms 640 KB
special_03 TLE 2656 ms 7296 KB