Submission #578077

#TimeUsernameProblemLanguageResultExecution timeMemory
578077balbitArt Collections (BOI22_art)C++17
100 / 100
1806 ms680 KiB
#include "art.h" #include <bits/stdc++.h> using namespace std; #define ll long long #define pii pair<ll, ll> #define f first #define s second #define SZ(x) (int)((x).size()) #define ALL(x) (x).begin(), (x).end() #define pb push_back #define FOR(i,a,b) for (int i = a; i<b; ++i) #define REP(i,n) FOR(i,0,n) #define REP1(i,n) FOR(i,1,n+1) #define MX(a,b) a = max(a,b) #define MN(a,b) a = min(a,b) #ifdef BALBIT #define bug(...) cerr<<"#"<<__LINE__<<": "<<#__VA_ARGS__<<"- ", _do(__VA_ARGS__) template<typename T> void _do( T && x) {cerr<<x<<endl;} template<typename T,typename ...S> void _do( T && x, S && ...y) {cerr<<x<<", "; _do(y...);} #else #define bug(...) #define endl '\n' #endif // BALBIT // // --- 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 // namespace { const int maxn = 4004; bool done[maxn]; #ifdef BALBIT vector<int> p = {3,1,4,2,6,5}; //vector<int> p = {1,3,2}; int publish(vector<int> v) { vector<int> tmp; for (int x : v) tmp.pb(p[x-1]); int re = 0; REP(i, SZ(tmp)) REP(j,i) { re += tmp[j] > tmp[i]; } return re; } void answer(vector<int> v) { for (int t : v) cout<<t<<' '; cout<<endl; } #endif } // empty namespace void solve(int n) { vector<int> val(n); vector<int> ha(n); REP(round,n) { vector<int> ord(n); REP(i,n) { ord[i] = (i+round)%n+ 1; } int get = publish(ord); ha[round] =get; } vector<int> ans(n); REP(i,n) { int j = (i+1) % n; int ab = ha[i] - ha[j]; val[i] = (ab + n - 1); bug(i, val[i]); assert(val[i]% 2 == 0); val[i] /= 2; ans[val[i]]= i + 1; } answer(ans); } #ifdef BALBIT signed main(){ solve(6); } #endif // BALBIT

Compilation message (stderr)

art.cpp:45:6: warning: '{anonymous}::done' defined but not used [-Wunused-variable]
   45 | bool done[maxn];
      |      ^~~~
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...