Submission #582179

#TimeUsernameProblemLanguageResultExecution timeMemory
582179talant117408Art Collections (BOI22_art)C++17
20 / 100
24 ms236 KiB
#include "art.h"
#include <bits/stdc++.h>

#ifndef EVAL
#include "sample_grader.cpp"
#endif
 
using namespace std;
 
typedef long long ll;
typedef pair <int, int> pii;
typedef pair <ll, ll> pll;
 
#define pb                  push_back
#define mp                  make_pair
#define all(v)              (v).begin(),(v).end()
#define rall(v)             (v).rbegin(),(v).rend()
#define lb                  lower_bound
#define ub                  upper_bound
#define sz(v)               int((v).size())
#define do_not_disturb      ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define endl                '\n'
//
// --- Sample implementation for the task art ---
//
// To compile this program with the sample grader, place:
//     art.h art_sample.cpp sample_grader.cpp
// in a single folder, then open the terminal in this directory (right-click onto an empty spot in the directory,
// left click on "Open in terminal") and enter e.g.:
//     g++ -std=c++17 art_sample.cpp sample_grader.cpp
// in this folder. This will create a file a.out in the current directory which you can execute from the terminal
// as ./a.out
// See task statement or sample_grader.cpp for the input specification
//

void solve(int n) {
    int valuable_than[n+1];
    memset(valuable_than, 0, sizeof(valuable_than));
    if (n > 40) return;
    for (int i = 1; i <= n; i++) {
        for (int j = i+1; j <= n; j++) {
            vector <int> order;
            for (int k = 1; k <= n; k++) {
                if (k == i || k == j) continue;
                order.pb(k);
            }
            order.pb(i); order.pb(j);
            auto ans1 = publish(order);
            order[n-2] = j; order[n-1] = i;
            auto ans2 = publish(order);
            if (ans1 < ans2) valuable_than[i]++;
            else valuable_than[j]++;
        }
    }
    vector <int> ans;
    for (int k = n-1; k >= 0; k--) {
        for (int i = 1; i <= n; i++) {
            if (valuable_than[i] == k) {
                ans.pb(i);
                break;
            }
        }
    }
    answer(ans);
}

Compilation message (stderr)

interface.cpp: In function 'int publish(std::vector<int>)':
interface.cpp:20:17: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   20 |     if(v.size() != N) {
      |        ~~~~~~~~~^~~~
interface.cpp: In function 'void answer(std::vector<int>)':
interface.cpp:36:17: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   36 |     if(v.size() != N) {
      |        ~~~~~~~~~^~~~
#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...