Submission #1163048

#TimeUsernameProblemLanguageResultExecution timeMemory
1163048Shadow1Minerals (JOI19_minerals)C++20
31 / 100
10 ms1416 KiB
#include "minerals.h" #include <bits/stdc++.h> // #include <ext/pb_ds/assoc_container.hpp> // #include <ext/pb_ds/tree_policy.hpp> using namespace std; using ll = long long; using ld = long double; using ull = unsigned long long; using str = string; // yay python! #define show(x) cerr << (#x) << " = " << (x) << '\n'; #define output_vector(v) for(auto &x : v){cout << x << ' ';}cout << '\n'; #define output_pairvector(v) for(auto &x : v){cout << x.first << " " << x.second << '\n';} #define read_vector(v) for(auto &x : v){cin >> x;} #define vt vector #define pq priority_queue #define pb push_back #define eb emplace_back #define pii pair<int,int> #define fir first #define sec second #define sz(x) int(x.size()) #define all(x) x.begin(), x.end() #define rall(x) x.rbegin(), x.rend() #define discretize(x) sort(x.begin(), x.end()); x.erase(unique(x.begin(), x.end()), x.end()); void dnc(vector<int> a) { int n = sz(a); // 2N if(n == 2) { Answer(a[0], a[1]); return; } vector<int> x, y; vector<bool> in_machine(n); int d = 0; for(int i=0; i<n; ++i) { int res = Query(a[i]); if(res > d) in_machine[i] = true; // pair not in machine else res = Query(a[i]); // extract it, pair alr exsits d = res; if(d == n/4) break; } for(int i=0; i<n; ++i) { if(in_machine[i]) continue; int res = Query(a[i]); if(res == d) in_machine[i] = true; else res = Query(a[i]); } for(int i=0; i<n; ++i) { if(in_machine[i]) { Query(a[i]); x.push_back(a[i]); } else y.push_back(a[i]); } dnc(x); dnc(y); } void Solve(int N) { vector<int> a(2*N); for (int i = 0; i<2*N; ++i) { a[i] = i+1; } dnc(a); }
#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...