Submission #652586

#TimeUsernameProblemLanguageResultExecution timeMemory
652586l3nl3Hedgehog Daniyar and Algorithms (IZhO19_sortbooks)C++14
0 / 100
3028 ms107820 KiB
#include <bits/stdc++.h> #define int long long using namespace std; const int N = 1e6 + 7; int n, m, a[N], t[N*4]; void build (int v, int tl, int tr) { if (tl == tr) { t[v] = a[tl]; return; } int tm = (tl+tr) / 2; build(v+v, tl, tm); build(v+v+1, tm+1, tr); t[v] = max(t[v+v], t[v+v+1]); } int get (int v, int tl, int tr, int l, int r) { if (l <= tl && tr <= r) { return t[v]; } if (r < tl || tr < l) return 0; int tm = (tl+tr) / 2; return max(get(v+v, tl, tm, l, r), get(v+v+1, tm+1, tr, l, r)); } signed main () { ios_base::sync_with_stdio(0); cin.tie(0), cout.tie(0); cin >> n; vector<pair<int, int>> v; map<int, int> pos; for (int i = 1; i <= n; i++) { cin >> a[i]; v.push_back({a[i], i}); } sort(v.begin(), v.end()); for (auto [x, p] : v) { a[p] = x; pos[x] = p; } build(1, 1, n); cin >> m; while (m--) { int l, r, k; cin >> l >> r >> k; int f = get(1, 1, n, l, r); int s = get(1, 1, n, pos[f]+1, r); //cerr << f << ' ' << s << '\n'; if (f+s <= k) cout << 1 << '\n'; else cout << 0 << '\n'; } }

Compilation message (stderr)

sortbooks.cpp: In function 'int main()':
sortbooks.cpp:42:12: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   42 |  for (auto [x, p] : v) {
      |            ^
#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...