제출 #1127821

#제출 시각아이디문제언어결과실행 시간메모리
1127821kirakosyanHedgehog Daniyar and Algorithms (IZhO19_sortbooks)C++20
8 / 100
3093 ms24612 KiB
#include<algorithm> #include<iostream> #include<vector> #include<string> #include<random> #include<cmath> #include<stack> #include<map> #include <iomanip> #include <queue> #include <set> using namespace std; using ll = long long; using ull = unsigned long long; ll mod = 1e9 + 7; ll pv(ll a, ll b) { if (b == 0)return 1; ll res = (pv(a, b / 2)); if (b % 2) { return (((res * res) % mod) * (a % mod)) % mod; } else { return (res * res) % mod; } } ll gcd(ll a, ll b) { while (b) { a %= b; swap(a, b); } return a; } ll n,s=1; vector<ll> v, seg; void build(ll l, ll r, ll u) { if(l == r) { if(l < n) seg[u] = v[l]; return; } ll m = (l + r) / 2; build(l, m, 2 * u + 1), build(m + 1, r, 2 * u + 2); seg[u] = max(seg[2 * u + 1],seg[2 * u + 2]); } ll get(ll l, ll r, ll lx, ll rx, ll u) { if(lx >= l && rx <= r) return seg[u]; if(lx > r || rx < l) return 0; ll m = (lx + rx) / 2; ll a = get(l, r, lx, m, 2 * u + 1), b = get(l, r, m + 1, rx, 2 * u + 2); return max(a,b) ; } void solve() { ll q; cin >> n >> q; v=vector<ll>(n); for(ll i=0; i<n; i++) { cin >> v[i]; } while(s<n)s<<=1; seg=vector<ll>(2*s-1); build(0,s-1,0); while(q--) { ll l,r,k; cin >> l >> r >> k; --l,--r; ll mx=0; for(int i=l;i<=r;i++){ for(int j=i;j<=r;j++){ if(v[j]<v[i])mx=max(mx,v[j]+v[i]); } } if(mx<=k)cout<<1<<endl; else cout<<0<<endl; } } signed main() { ios_base::sync_with_stdio(false); cin.tie(NULL); ll _ = 1; // cin >> _; while (_--) { solve(); } }
#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...