Submission #736421

#TimeUsernameProblemLanguageResultExecution timeMemory
736421VadimKArt Collections (BOI22_art)C++17
20 / 100
148 ms208 KiB
#include <vector>
/**
 * returns how many complaints you will receive for this ordering of the art collections
 */
 using namespace std;
int publish(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(vector<int>);

/**
 * implement this function
 */
void solve(int N)
{
    vector <int> guess(N),change(N);
    for (int i=0; i<N; i++)
    {
        guess[i]=i+1;
        change[i]=i+1;
    }
     for (int i=1; i<N; i++)
     {
        int pos=i;
        int ans=publish(change);
        for (int j=i; j>=1; j--)
     {
         swap(change[j],change[j-1]);
          int cur=publish(change);
          if (cur<ans) {ans=cur; pos=j-1;}
     }
     int x=i;
     while (x>pos)
     {
         swap(guess[x],guess[x-1]);
         x--;
     }
      for (int i=0; i<N; i++)
        change[i]=guess[i];
     }
     answer(guess);
     return;
}

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...