제출 #1187148

#제출 시각아이디문제언어결과실행 시간메모리
1187148PieArmyHedgehog Daniyar and Algorithms (IZhO19_sortbooks)C++20
100 / 100
1279 ms45668 KiB
#include<bits/stdc++.h> typedef long long ll; #define pb push_back #define fr first #define sc second #define endl '\n' #define mid ((left+right)>>1) using namespace std; struct Seg{ int n; vector<int>tree; void init(int N){ n=N+1; tree.resize(n<<2,0); } int l,r; void update(int tar,int val){ l=tar; r=val; up(); } void up(int node=1,int left=0,int right=-1){ if(right==-1)right=n-1; if(left==right){ tree[node]=r; return; } if(l>mid)up(node*2+1,mid+1,right); else up(node*2,left,mid); tree[node]=max(tree[node*2],tree[node*2+1]); } int qu(int node=1,int left=0,int right=-1){ if(right==-1)right=n-1; if(left>=l&&right<=r)return tree[node]; if(left>r||right<l)return 0; return max(qu(node*2,left,mid),qu(node*2+1,mid+1,right)); } int query(int left,int right){ l=left; r=right; return qu(); } }; int n,q; int arr[1000023],las[1000023]; int lef[1000023],rig[1000023],k[1000023],ans[1000023]; int per[1000023]; Seg seg; int main(){ ios_base::sync_with_stdio(false);cin.tie(NULL); cin>>n>>q; seg.init(n); for(int i=1;i<=n;i++){ cin>>arr[i]; } vector<int>sta; for(int i=1;i<=n;i++){ while(sta.size()&&arr[sta.back()]<=arr[i])sta.pop_back(); if(sta.size()){ las[i]=sta.back(); } sta.pb(i); } for(int i=1;i<=q;i++){ cin>>lef[i]>>rig[i]>>k[i]; } iota(per,per+q,1); sort(per,per+q,[&](const int &x,const int &y){ return rig[x]<rig[y]; }); int itr=0; for(int j=0;j<q;j++){ while(itr<rig[per[j]]){ itr++; seg.update(las[itr],arr[las[itr]]+arr[itr]); } ans[per[j]]=(seg.query(lef[per[j]],rig[per[j]])<=k[per[j]]); } for(int i=1;i<=q;i++){ cout<<ans[i]<<endl; } }
#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...