Submission #1156325

#TimeUsernameProblemLanguageResultExecution timeMemory
1156325SyedSohaib_123Hedgehog Daniyar and Algorithms (IZhO19_sortbooks)C++20
13 / 100
1222 ms34500 KiB
#include <bits/stdc++.h> using namespace std; #define append push_back #define int long long const int N=1e6+10,LG=21; int mod=998244353; int a[N],b[N],tree[N<<2],n; void build(int l=1,int r=n,int s=1){ if(l==r){ tree[s]=b[l];return; } int m=(l+r)>>1; build(l,m,s*2); build(m+1,r,s*2+1); tree[s]=tree[s*2]&tree[s*2+1]; } int get(int a,int b,int l=1,int r=n,int s=1){ if(r<a or l>b) return 1; if(a<=l and r<=b) return tree[s]; int m=(l+r)>>1; return get(a,b,l,m,s*2)&get(a,b,m+1,r,s*2+1); } void solve(int tst){ int m; cin>>n>>m; for(int i=1;i<=n;i++){ cin>>a[i]; b[i]=a[i]>=a[i-1]; } build(); while(m--){ int a,b,c; cin>>a>>b>>c; a++; cout<<get(a,b)<<endl; } } signed main(){ ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); int t = 1; // cin >> t; for(int i=1;i<=t;i++){ solve(i); // if(i!=t) cout<<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...