제출 #1206172

#제출 시각아이디문제언어결과실행 시간메모리
1206172dostsThe Collection Game (BOI21_swaps)C++20
5 / 100
10 ms424 KiB
// // --- Sample implementation for the task swaps --- // // To compile this program with the sample grader, place: // swaps.h swaps.cpp sample_grader.cpp // in a single folder and run: // g++ swaps.cpp sample_grader.cpp // in this folder. // #include "swaps.h" #include <bits/stdc++.h> #pragma GCC optimize("O3,unroll-loops") #pragma GCC target("avx2") //#define int long long #define pii pair<int,int> #define vi vector<int> #define ff first #define ss second #define sp << " " << #define all(x) x.begin(),x.end() #define big(x) ((int)(x.size())) using namespace std; const int N = 501; int cmp[N][N]; vi f(int l,int r) { if (l == r) return {l}; int m = (l+r) >> 1; vi v1 = f(l,m),v2 = f(m+1,r); /* vector<pii> qs; for (int i=l;i<=m;i++) { for (int j=m+1;j<=r;j++) schedule(i,j),qs.push_back({i,j}); } */ /* vi res = visit(); for (int i = 0;i<qs.size();i++) cmp[qs[i].ff][qs[i].ss] = res[i],cmp[qs[i].ss][qs[i].ff] = !res[i]; */ vi merged; int ptr = 0,ptr2 = 0; while (ptr < v1.size() || ptr2 < v2.size()) { if (ptr < v1.size() && ptr2 < v2.size()) { schedule(v1[ptr],v2[ptr2]); int c = visit()[0]; if (c) merged.push_back(v1[ptr++]); else merged.push_back(v2[ptr2++]); } else if (ptr < v1.size()) merged.push_back(v1[ptr++]); else merged.push_back(v2[ptr2++]); } return merged; } void solve(int N, int V) { answer(f(1,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...
#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...