Submission #1127766

#TimeUsernameProblemLanguageResultExecution timeMemory
1127766Mikael639Hedgehog Daniyar and Algorithms (IZhO19_sortbooks)C++20
30 / 100
776 ms10288 KiB
#include <bits/stdc++.h> #define fi first #define se second #define For(i, a, b) for (int i = (a); i <= (b); ++i) #define ForD(i, a, b) for (int i = (a); i >= (b); --i) #define rep(i, n) for (int i = 0; i < (n); ++i) #define repD(i, n) for (int i = (n) - 1; i >= 0; --i) #define coutE(x) {cout << x << '\n'; return;} #define pb push_back #define pf push_front #define all(x) x.begin(), x.end() #define sz(x) (int)x.size() #define bs binary_search #define ub upper_bound #define lb lower_bound #define endl '\n' #define db long double #define ll long long #define ii pair<int, int> #define vi vector<int> #define vii vector<ii> using namespace std; void file(string s){ if (s.empty()) return; freopen((s + ".inp").c_str(), "r", stdin); freopen((s + ".out").c_str(), "w", stdout); } template <class X, class Y> bool minimize(X &x, Y y){ if (x > y) return x = y, 1; return 0; } template <class X, class Y> bool maximize(X &x, Y y){ if (x < y) return x = y, 1; return 0; } const int N = 1e6 + 5; int n, q, a[N]; namespace sub1{ void solve(){ while (q--){ int l, r, k; cin >> l >> r >> k; set<int> st; bool res = 1; For(i, l, r){ auto it = st.end(); if (it != st.begin() && *(prev(it)) > a[i] && *(prev(it)) + a[i] > k){ res = 0; break; } st.insert(a[i]); } cout << res << '\n'; } } } namespace sub2{ int pre[N]; void solve(){ For(i, 2, n) pre[i] = pre[i - 1] + (a[i] >= a[i - 1]); while (q--){ int l, r, k; cin >> l >> r >> k; bool res = (l == r) || (pre[r] - pre[l] == r - l); cout << res << '\n'; } } } signed main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n >> q; For(i, 1, n) cin >> a[i]; if (max(n, q) <= 5000) return sub1::solve(), 0; sub2::solve(); return 0; }

Compilation message (stderr)

sortbooks.cpp: In function 'void file(std::string)':
sortbooks.cpp:34:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   34 |     freopen((s + ".inp").c_str(), "r", stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sortbooks.cpp:35:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   35 |     freopen((s + ".out").c_str(), "w", stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#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...