제출 #1163051

#제출 시각아이디문제언어결과실행 시간메모리
1163051Shadow1Minerals (JOI19_minerals)C++20
40 / 100
14 ms3008 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]); in_machine[i] = true; d = res; if(res == n/4) break; } for(int i=0; i<n; ++i) { if(in_machine[i]) continue; int res = Query(a[i]); if(res > d) res = Query(a[i]); else in_machine[i] = true; } 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...