Submission #683777

#TimeUsernameProblemLanguageResultExecution timeMemory
683777gagik_2007Hedgehog Daniyar and Algorithms (IZhO19_sortbooks)C++17
30 / 100
1618 ms38096 KiB
#include <iostream> #include <algorithm> #include <string> #include <vector> #include <cmath> #include <chrono> #include <ctime> #include <set> #include <map> #include <stack> #include <queue> #include <deque> #include <limits> #include <iomanip> #include <unordered_set> #include <unordered_map> #include <fstream> #include <functional> #include <random> #include <cassert> using namespace std; typedef long long ll; typedef long double ld; #define ff first #define ss second ll ttt; const ll INF = 1e18; const ll MOD = 1e9 + 7; const ll N = 1000007; ll n, m, k; ll a[N]; ll lgs[N]; ll c[N]; vector<pair<pair<int, int>, pair<int, ll>>>q; int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); lgs[1] = 0; lgs[2] = 1; for (int i = 3; i < N; i++) { lgs[i] = lgs[i / 2] + 1; } cin >> n >> m; for (int i = 0; i < n; i++) { cin >> a[i]; } if (n <= 5000 && m <= 5000) { vector<int>ans(m); for (int i = 0; i < m; i++) { int l, r; cin >> l >> r >> k; l--, r--; q.push_back({ { l,r },{i,k} }); } sort(q.begin(), q.end()); int qi = 0; for (int i = 0; i < n; i++) { ll max_val = 0; ll mx = 0; for (int j = i; j < n; j++) { if (mx > a[j]) { max_val = max(max_val, a[j] + mx); } else { mx = a[j]; } while (qi < m && q[qi].ff.ff == i && q[qi].ff.ss == j) { ans[q[qi].ss.ff] = (max_val <= q[qi].ss.ss); //cout << "DNUM EM: " << q[qi].ss.ff << ": " // << max_val << ", " << q[qi].ss.ss << endl; qi++; } } } for (auto x : ans) { cout << x << endl; } } else { int cur = 0; c[0] = 0; for (int i = 1; i < n; i++) { if (a[i] < a[i - 1])cur++; c[i] = cur; } for (int i = 0; i < m; i++) { int l, r; cin >> l >> r >> k; l--, r--; cout << (c[l] == c[r]) << endl; } } return 0; } /// ---- - -------- ------ -------- -- - - - /// Just a reminder. Ubuntu password is I O I /// ---- - -------- ------ -------- -- - - -
#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...