Submission #1156247

#TimeUsernameProblemLanguageResultExecution timeMemory
1156247ghammazhassanHedgehog Daniyar and Algorithms (IZhO19_sortbooks)C++20
0 / 100
1296 ms166508 KiB
// #include <bits/stdc++.h> #include <iostream> #include <cmath> #include <algorithm> #include <map> #include <vector> #include <iomanip> #include <string> #include <queue> #include <set> #include <deque> using namespace std; #define int long long const int N=1e6+5; const int M=998244353; const int LOG = 20; int n , m , k , c , t=1 , q=1 , x , y , p[N]; int sg[LOG][N]; vector<int>a(N),b(N); void makesg(){ for (int i=0;i<N;i++){ sg[0][i]=b[i]; } for (int j=1;j<LOG;j++){ for (int i=(int)pow(2,j)-1;i<N;i++){ sg[j][i]=max(sg[j-1][i],sg[j-1][i-(int)pow(2,j-1)]); } } } int lr(int l,int r){ int x=log2(r-l); return max(sg[x][r],sg[x][l+(int)pow(2,x)]); } void solve() { cin >> n >> m; for (int i=0;i<n;i++){ cin >> a[i]; } for (int i=0;i<n-1;i++){ b[i]=a[i+1]<a[i]; } makesg(); // cout << lr(1,2) << endl; for (int i=0;i<m;i++){ cin >> x >> y >> c; if (x==y){ cout << 1 << endl; continue; } if (lr(x-1,y-2)){ cout << 0 << endl; } else{ cout << 1 << endl; } } } signed main() { ios::sync_with_stdio(0);//DO NOT USE IN INTERACTIVE cin.tie(0), cout.tie(0);//DO NOT USE IN INTERACTIVE cout << fixed<<setprecision(9); // int t=1; // cin >> t; for (int _=1;_<=t;_++){ solve(); q++; } }
#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...