Submission #595388

#TimeUsernameProblemLanguageResultExecution timeMemory
595388DeepessonArt Collections (BOI22_art)C++17
50 / 100
782 ms544 KiB
#include <bits/stdc++.h>
/**
 * returns how many complaints you will receive for this ordering of the art collections
 */
int publish(std::vector<int>);

/**
 * use this function when you have found the correct order of the art collections
 * You must call answer exactly once; your program will be automatically
 * terminated afterwards.
 */
void answer(std::vector<int>);

/**
 * implement this function
 */
void solve(int N);

int padrao=0;
int _N;
bool compara(int a,int b){
    std::vector<int> order;
    for(int i=0;i!=_N;++i)order.push_back(i+1);
    bool kek=false,trava=false;
    for(auto&x:order){
        if(a==x){
            x=b;
        }else if(x==b){
            x=a;
        }
    }
    int x = publish(order);
    if(a>b){
        return x<padrao;
    }else return x>padrao;
}

void solve(int N) {
    _N=N;
    std::vector<int> order;
    for(int i=0;i!=N;++i)order.push_back(i+1);
    padrao=publish(order);
    std::stable_sort(order.begin(),order.end(),compara);
    answer(order);
}

Compilation message (stderr)

art.cpp: In function 'bool compara(int, int)':
art.cpp:24:10: warning: unused variable 'kek' [-Wunused-variable]
   24 |     bool kek=false,trava=false;
      |          ^~~
art.cpp:24:20: warning: unused variable 'trava' [-Wunused-variable]
   24 |     bool kek=false,trava=false;
      |                    ^~~~~
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...