Submission #1106378

#TimeUsernameProblemLanguageResultExecution timeMemory
1106378stdfloatSimple game (IZhO17_game)C++17
22 / 100
21 ms4944 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; #define sz(v) (int)(v).size() #define all(v) (v).begin(), (v).end() const int N = (int)1e6 + 1; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n, q; cin >> n >> q; vector<int> a(n); for (auto &i : a) cin >> i; if (n <= (int)1e3) { while (q--) { int tp, x; cin >> tp >> x; if (tp == 1) { int vl; cin >> vl; a[--x] = vl; } else { int cnt = 0; for (int i = 0; i + 1 < n; i++) cnt += (min(a[i], a[i + 1]) < x && x < max(a[i], a[i + 1])); cout << cnt << '\n'; } } return 0; } vector<int> cnt(N); for (int i = 0; i + 1 < n; i++) cnt[min(a[i], a[i + 1])]++; for (int i = N - 2; i >= 0; i--) cnt[i] += cnt[i + 1]; sort(all(a)); while (q--) { int tp, x; cin >> tp >> x; int y = upper_bound(all(a), x) - a.begin(); cout << (y == n ? 0 : (x < a[n - 1]) + ((n - y - 1 - cnt[a[y]]) << 1)) << '\n'; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...