제출 #1353383

#제출 시각아이디문제언어결과실행 시간메모리
1353383eri16Art Collections (BOI22_art)C++20
100 / 100
482 ms472 KiB
#include "art.h"
#include <bits/stdc++.h>
using namespace std;

#define pb push_back
#define fi first
#define se second

int fnd(int n, int num){
    return (num+n-1)/2;
}

void solve(int N){
    int ssm;
    
    vector <int> rank(N,0);
    
    vector <int> v(N);
    for (int i=1; i<=N; i++){v[i-1]=i;}
    ssm = publish(v);
    
    for (int i=1; i<N; i++){
        v.clear();
        v.resize(N);
        for (int j=1; j<i; j++){v[j-1]=j;}
        for (int j=i+1; j<=N; j++){v[j-2]=j;}
        v[N-1]=i;
        int ans = publish(v);
        int rnk = fnd(N-i+1,ssm-ans);
        int ind = 0;
        while (rnk>=0 & ind!=N){
            if (rank[ind]==0){rnk--;}
            ind++;
        }
        rank[ind-1]=i;
    }
    
    for (int i=0; i<N; i++){if (rank[i]==0){rank[i]=N;}}
    
    answer(rank);
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…