Submission #905281

#TimeUsernameProblemLanguageResultExecution timeMemory
905281Ahmed57The Collection Game (BOI21_swaps)C++17
0 / 100
29 ms436 KiB
#include <bits/stdc++.h> using namespace std; #include "swaps.h" int a[2001] = {0}; int n , xd; int x = 0; void compp(int a,int b){ if(b<=n&&a<=n){ schedule(a,b); x++; } } void bitonic(int l, int r, bool inc){ if(l==r)return ; assert(l<=r); int md=(l+r)/2; assert(((l+r)%2)==1); bitonic(l,md,inc); bitonic(md+1,r,!inc); for(int i = l;i<=md;i++){ assert(i+md+1-l<=xd); assert(i+md+1-l>md); compp(a[i],a[i+md+1-l]); } vector<int> vi = visit(); //if(vi.size()!=x)assert(0); x = 0; int ind = 0; for(int i = l;i<=md;i++){ assert(i+md+1-l<=xd); assert(i+md+1-l>md); if(a[i+md+1-l]>n){ if(inc){ swap(a[i],a[i+(md+1-l)]); } }else if(a[i]>n){ if(!inc){ swap(a[i],a[i+(md+1-l)]); } }else{ if(ind>=vi.size())continue; if((!inc)^(!vi[ind])){ swap(a[i],a[i+(md+1-l)]); } ind++; } } bitonic(l,md,inc); bitonic(md+1,r,inc); } void solve(int N,int V){ n = N; xd = 1; while(xd<N)xd*=2; for(int i = 1;i<=xd;i++){ a[i] = i; } bitonic(1,xd,1); vector<int> ans; for(int i = xd-N+1;i<=xd;i++){ ans.push_back(a[i]); } answer(ans); }

Compilation message (stderr)

swaps.cpp: In function 'void bitonic(int, int, bool)':
swaps.cpp:42:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   42 |             if(ind>=vi.size())continue;
      |                ~~~^~~~~~~~~~~
#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...
#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...