제출 #1118918

#제출 시각아이디문제언어결과실행 시간메모리
1118918thangdz2k7Minerals (JOI19_minerals)C++17
25 / 100
11 ms1104 KiB
// author : thembululquaUwU // 3.9.2024 #include <bits/stdc++.h> #include "minerals.h" #define pb push_back #define fi first #define se second #define endl '\n' using namespace std; using ll = long long; using ii = pair <int, int>; using vi = vector <int>; const int N = 2e5 + 5; const int mod = 1e9 + 7; void maxl(auto &a, auto b) {a = max(a, b);} void minl(auto &a, auto b) {a = min(a, b);} // grader //int cnt[N], diff = 0, used[N], c[N], n; // //int Query(int id){ // diff -= (cnt[c[id]] > 0); // if (used[id]) cnt[c[id]] --; // else cnt[c[id]] ++; // used[id] ^= 1; // diff += (cnt[c[id]] > 0); // return diff; //} // //void Answer(int a, int b){ // cout << a << ' ' << b << endl; //} // end int rt[N], last = 0; void dnc(vector <int> p, int L, int R){ if (p.empty()) return; if (L == R) { rt[p[0]] = L; return; } vector <int> lf, rg; int mid = L + R >> 1; for (int i = L; i <= mid; ++ i) last = Query(i); for (int id : p){ int _new = Query(id); if (_new == last) lf.push_back(id); else rg.push_back(id); last = _new; } for (int id : p){ last = Query(id); } for (int i = L; i <= mid; ++ i) last = Query(i); dnc(rg, mid + 1, R); dnc(lf, L, mid); } void Solve(int n){ vector <int> cur(n); iota(cur.begin(), cur.end(), 1); dnc(cur, n + 1, n + n); for (int i = 1; i <= n; ++ i) Answer(i, rt[i]); } //void solve(){ // cin >> n; // for (int i = 1; i <= n; ++ i){ // int a, b; cin >> a >> b; // c[a] = i, c[b] = i; // } // // Solve(n); //} // //int main(){ // if (fopen("pqh.inp", "r")){ // freopen("pqh.inp", "r", stdin); // freopen("pqh.out", "w", stdout); // } // ios_base::sync_with_stdio(0); // cin.tie(0); cout.tie(0); // // int t = 1; // cin >> t; // while (t --) solve(); // return 0; //}

컴파일 시 표준 에러 (stderr) 메시지

minerals.cpp:19:11: warning: use of 'auto' in parameter declaration only available with '-fconcepts-ts'
   19 | void maxl(auto &a, auto b) {a = max(a, b);}
      |           ^~~~
minerals.cpp:19:20: warning: use of 'auto' in parameter declaration only available with '-fconcepts-ts'
   19 | void maxl(auto &a, auto b) {a = max(a, b);}
      |                    ^~~~
minerals.cpp:20:11: warning: use of 'auto' in parameter declaration only available with '-fconcepts-ts'
   20 | void minl(auto &a, auto b) {a = min(a, b);}
      |           ^~~~
minerals.cpp:20:20: warning: use of 'auto' in parameter declaration only available with '-fconcepts-ts'
   20 | void minl(auto &a, auto b) {a = min(a, b);}
      |                    ^~~~
minerals.cpp: In function 'void dnc(std::vector<int>, int, int)':
minerals.cpp:51:17: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   51 |     int mid = L + R >> 1;
      |               ~~^~~
#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...