제출 #1071277

#제출 시각아이디문제언어결과실행 시간메모리
1071277vjudge1Hedgehog Daniyar and Algorithms (IZhO19_sortbooks)C++17
0 / 100
72 ms25424 KiB
#include<bits/stdc++.h> using namespace std; #define int long long #define nn "\n"; const int N = 5e6 + 8 , inf = 1e9+7 ; int n , m , q , w[N] ; int mx[N] , mxs[N]; void build(int v , int l , int r ){ if(l == r ){ mxs[v] =0; mx[v] = w[l]; return; } int mid = ( l + r )>>1 ; build(v * 2 , l , mid ); build(v * 2 + 1, mid + 1, r ); int a = mx[v*v] , b = mx[v*v+1]; mxs[v] = max(mxs[v*2] , mxs[v*2+1]); if( a > b ){ mxs[v] = max(mxs[v] , a + b ); } mx[v] = max(a , b ); } pair<int , int > get(int v , int tl , int tr ,int l , int r ){ if( tl <= l && r <= tr ){ return {mxs[v] , mx[v]}; } if( l > tr || r < tl ){ return {-1 , -1 }; } int mid = ( l + r )/2; pair<int ,int >a = get(v*2 , tl , tr , l , mid ) , b = get(v*2+1 , tl , tr , mid+1 , r ); if(a.second> -1 && b.second> -1 ){ int c = a.first, d = b.first; int s = 0 ; if( a.second > b.second ){ s = a.second + b.second ; } return {max(c , d ) ,max({s , a.second , b.second }) }; } else if(a.second > -1 ){ return a ; } else if(b.second > -1 ){ return b ; } } signed main() { ios_base::sync_with_stdio(0), cin.tie(0); cin>> n >> q; for(int i = 1; i <= n; i++){ cin>> w[i]; } build(1 , 1 , n ); while(q--){ int l , r , k ; cin>> l >> r >> k ; pair<int , int >h = get(1 , l , r , 1 , n ); if(max(h.first , h.second)<=k ){ cout <<1 << nn } else cout << 0 << nn } }

컴파일 시 표준 에러 (stderr) 메시지

sortbooks.cpp: In function 'std::pair<long long int, long long int> get(long long int, long long int, long long int, long long int, long long int)':
sortbooks.cpp:47:1: warning: control reaches end of non-void function [-Wreturn-type]
   47 | }
      | ^
#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...