Submission #681428

#TimeUsernameProblemLanguageResultExecution timeMemory
681428DanTatarHedgehog Daniyar and Algorithms (IZhO19_sortbooks)C++17
30 / 100
1532 ms43036 KiB
#include <bits/stdc++.h> #define pb push_back #define sz(v) v.size() #define in insert #define ld double #define all(v) v.begin(),v.end() #define ent endl #define S second #define F first #define pii pair <int, int> //#define int long long /*#pragma optimize ("g",on) #pragma GCC optimize ("inline") #pragma GCC optimize ("Ofast") #pragma GCC optimize ("unroll-loops") #pragma GCC optimize ("03") #pragma GCC target ("sse,sse2,sse3,ssse3,sse4,popcnt,abm,avx2,mmx,fma,avx,tune=native") #pragma comment(linker, "/stack:200000000")*/ using namespace std; //const int INF = 1e18 + 123; const int N = 1e6 + 123; const int mod = 998244353; const double PI = 3.1415926536; const double eps = 1e-20; int dx[4] = {0, 1, 0, -1}; int dy[4] = {-1, 0, 1, 0}; void speed(){ ios_base::sync_with_stdio(false); cin.tie(NULL); } int n,m; int a[N]; int pref[N]; void solve(){ cin >> n >> m; for(int i = 1; i <= n; ++i){ cin >> a[i]; } if(n <= 5000 && m <= 5000){ while(m --){ int l,r,k; cin >> l >> r >> k; int b[r-l+10]; for(int i = 1; i <= r-l+1; ++i){ b[i] = a[i+l-1]; } multiset <int> st; int ok = 1; for(int i = 1; i <= r-l+1; ++i){ if(st.empty()){ st.insert(b[i]); continue; } if(*st.rbegin() > b[i] && *st.rbegin() + b[i] > k){ ok = 0; break; } st.insert(b[i]); } cout << ok << ent; } } else { for(int i = 1; i <= n; i++){ if(a[i] < a[i - 1]) { pref[i] = i; } else { pref[i] = pref[i - 1]; } } while(m--){ int l, r, k; cin >> l >> r >> k; cout << (pref[r] <= l) << ent; } } } signed main() { speed(); int tt = 1; //cin >> tt; while(tt --){ solve(); cout << ent; } }
#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...