Submission #867756

#TimeUsernameProblemLanguageResultExecution timeMemory
867756Dec0DeddArt Collections (BOI22_art)C++17
70 / 100
1255 ms1584 KiB
#include <bits/stdc++.h> #include "art.h" using namespace std; // n <= 4 000 // q <= 4 000 void solve(int n) { vector<int> ans(n, 0); for (int i=1; i<=n; ++i) { vector<int> v; for (int j=1; j<=n; ++j) v.push_back(j); v.erase(v.begin()+i-1); v.insert(v.begin(), i); int c1=publish(v); v.erase(v.begin()), v.push_back(i); int c2=publish(v); // a = # of greater than i // b = # of smaller than i // a-b = c1-c2 // a+b = n-1 // a = (c1-c2+n-1)/2 assert((c1-c2+n-1)%2 == 0); int b=(c1-c2+n-1)/2; ans[b]=i; } 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...