Submission #905257

#TimeUsernameProblemLanguageResultExecution timeMemory
905257Ahmed57The Collection Game (BOI21_swaps)C++17
0 / 100
30 ms428 KiB
#include <bits/stdc++.h> using namespace std; #include "swaps.h" int a[2001] = {0}; int n; 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 ; int md=(l+r)/2; bitonic(l,md,inc); bitonic(md+1,r,!inc); vector<int> vi; for(int i = l;i<=md;i++){ compp(a[i],a[i+md+1-l]); } vi = visit(); //if(vi.size()!=x)assert(0); x = 0; int ind = 0; for(int i = l;i<=md;i++){ 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; int 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:37:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   37 |             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...