Submission #1303898

#TimeUsernameProblemLanguageResultExecution timeMemory
1303898kirakosyanArt Collections (BOI22_art)C++20
100 / 100
677 ms484 KiB
#include<iostream>
#include<vector>
#include<algorithm>
#include<string>
#include<cmath>
#include<set>
#include<map>
#include<queue>
#include<stack>
#include<unordered_map>
#include<unordered_set>
#include <cstdarg>
#include <cstdio>
#include <cstdlib>


using namespace std;
using ll = long long;
ll mod = 998244353;
ll gcd(ll a, ll b) {
    if (b == 0)return a;
    else return gcd(b, a % b);
}

#include "art.h"

//using namespace std;
//
//
//    int N;
//    int Q = 0;
//    vector<int> solution;
//
//
//int publish(vector<int> R) {
//    
//    vector<int> positions(N + 1);
//    for (int i = 0; i < N; ++i)
//        positions[R[i]] = i;
//
//    int complaints = 0;
//    for (int i = 0; i < N; ++i) {
//        for (int j = i + 1; j < N; ++j) {
//            if (positions[solution[i]] > positions[solution[j]])
//                ++complaints;
//        }
//    }
//
//    return complaints;
//}



void solve(int N) {
    ll n = N;
    vector<int>v(n);
    for (int i = 0; i < n; i++) {
        v[i] = i + 1;
    }
    ll last = publish(v);
    int qanak = n-1;
    vector<int>ans(n);
    while (qanak--) {
        vector<int>v1(n);
        for (int i = 1; i < n; i++) {
            v1[i] = v[i - 1];

        } 
        v1[0] = v[n - 1];
        ll x = publish(v1);
        ll aper = ((n - 1) - (last-x)) / 2;
        ans[aper] = v1[0];
        swap(v, v1);
        last = x;
    }
    for (int i = 0; i < n; i++) {
        ans[i] = max(ans[i], 1);
    }
    answer(ans);



}
//int main() {
//    scanf_s("%d", &N);
//
//    solution.resize(N);
//    set<int> chosen;
//    for (auto& x : solution) {
//        scanf_s("%d", &x);
//        chosen.insert(x);
//    }
//
//    solve(N);
//
//}


//signed main() {
//
//    ios_base::sync_with_stdio(0);
//    cin.tie(nullptr);
//    cout.tie(nullptr);
//
//    ll t = 1;
//    //cin >> t;
//    while (t--) {
//        solve();
//    }
//}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...