Submission #733355

# Submission time Handle Problem Language Result Execution time Memory
733355 2023-04-30T14:21:59 Z speedyArda Art Collections (BOI22_art) C++17
0 / 100
0 ms 208 KB
#include "art.h"
#include "bits/stdc++.h"

using namespace std;

//
// --- 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) {
    vector<int> order(N);
    vector<int> ans(N, 0);
    for(int i = 1; i <= N; i++)
        order[i - 1] = i;
    int last = publish(order);
    if(last == 0)
    {
        answer(ans);
        return;
    }
    for(int i = 1; i < N; i++)
    {
        int cha = order.back();
        for(int a = N - 2; a >= 0; a--)
            order[a+1] = order[a];
        order[0] = cha;
        int curr = publish(order);
        int diff = curr - last;
        int lower = (N - 1 + diff) / 2; // Amount of painting which has lower ranking than our current painting
        ans[lower] = cha;
        last = curr;

    }
    int rem = order.back();
    for(int i = 0; i < N; i++)
    {
        if(ans[i] == 0)
        {
            ans[i] = rem;
            break;
        }
    }
    answer(ans);
}

Compilation message

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 time Memory Grader output
1 Correct 0 ms 208 KB Output is correct
2 Incorrect 0 ms 208 KB Not correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 208 KB Output is correct
2 Incorrect 0 ms 208 KB Not correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 208 KB Output is correct
2 Incorrect 0 ms 208 KB Not correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 208 KB Output is correct
2 Incorrect 0 ms 208 KB Not correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 208 KB Output is correct
2 Incorrect 0 ms 208 KB Not correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 208 KB Output is correct
2 Incorrect 0 ms 208 KB Not correct
3 Halted 0 ms 0 KB -