| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 711649 | guagua0407 | Slagalica (COCI19_slagalica2) | C++17 | 28 ms | 2124 KiB | 
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
//#pragma GCC optimize("O3")
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pii pair<int,int>
#define f first
#define s second
#define all(x) x.begin(),x.end() 
#define _ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
void setIO(string s) {
    freopen((s + ".in").c_str(), "r", stdin);
    freopen((s + ".out").c_str(), "w", stdout);
}
int main() {_
    int n;
    cin>>n;
    vector<int> num[9];
    vector<int> adj[9];
    vector<int> sz(9,0);
    for(int i=0;i<n;i++){
        int a,b;
        cin>>a>>b;
        num[a].push_back(b);
        sz[a]++;
    }
    for(int i=1;i<9;i++){
        sort(num[i].rbegin(),num[i].rend());
    }
    adj[1].push_back(3);
    adj[1].push_back(4);
    adj[1].push_back(8);
    adj[3].push_back(3);
    adj[3].push_back(4);
    adj[3].push_back(8);
    adj[5].push_back(3);
    adj[5].push_back(4);
    adj[5].push_back(8);
    adj[2].push_back(1);
    adj[2].push_back(2);
    adj[2].push_back(7);
    adj[4].push_back(1);
    adj[4].push_back(2);
    adj[4].push_back(7);
    adj[6].push_back(1);
    adj[6].push_back(2);
    adj[6].push_back(7);
    int cur=(sz[5]>0?5:6);
    vector<int> ans;
    ans.push_back(num[cur].back());
    num[cur].pop_back();
    sz[cur]--;
    for(int i=0;i<n-2;i++){
        //cout<<cur<<'\n';
        int mn=1e9+1;
        int tt;
        for(auto v:adj[cur]){
            //cout<<v<<' '<<sz[v]<<'\n';
            if(sz[v]==0) continue;
            sz[v]--;
            bool tf=false;
            for(auto u:adj[v]){
                if(i!=n-3 and (u==7 or u==8)) continue;
                if(sz[u]>0){
                    tf=true;
                    break;
                }
            }
            sz[v]++;
            if(tf){
                if(num[v].back()<mn){
                    mn=num[v].back();
                    tt=v;
                }
            }
        }
        if(mn==1e9+1){
            cout<<-1;
            return 0;
        }
        sz[tt]--;
        ans.push_back(num[tt].back());
        num[tt].pop_back();
        cur=tt;
    }
    int target=(sz[7]>0?7:8);
    bool tf=false;
    for(auto v:adj[cur]){
        if(v==target){
            tf=true;
            break;
        }
    }
    if(!tf){
        cout<<-1;
        return 0;
    }
    ans.push_back(num[target].back());
    for(auto v:ans){
        cout<<v<<' ';
    }
    return 0;
}
//maybe its multiset not set
Compilation message (stderr)
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
