Submission #1353111

#TimeUsernameProblemLanguageResultExecution timeMemory
1353111lukaye_19Art Collections (BOI22_art)C++20
50 / 100
241 ms456 KiB
#include "art.h"
#include <bits/stdc++.h>
using namespace std;

/*
vector <int> ans = {1,3,4,2};
vector <int> pos = {1,4,2,3};

int cnt=0;

void answer(vector <int> v){
    cout<<cnt<<"\n";
    if (v==ans){cout<<"YES";}
    else{for (auto x : v){cout<<x<<' ';}}
}

int publish(vector <int> v){
    cnt++;
    int n=v.size();
    int sm=0;
    for (int i=n-1; i>=1; i--){
        for (int j=i-1; j>=0; j--){
            if (pos[v[j]-1]>pos[v[i]-1]){sm++;}
        }
    }
    return sm;
}
*/

int csm;

vector<int>c;

bool cmp(int a,int b)
{
    swap(c[a - 1],c[b - 1]);
    
    int nsm = publish(c);
    
    swap(c[a - 1],c[b - 1]);
    
    return nsm < csm;
}

void solve(int N)
{
    for (int i = 1; i <= N; i++) c.push_back(i);
    
    vector<int>ans = c;
    
    csm = publish(ans);
    
    stable_sort(ans.begin(),ans.end(),cmp);
    
    answer(ans);
    
    return;
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...