답안 #526394

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
526394 2022-02-14T15:26:02 Z CursedCode Hedgehog Daniyar and Algorithms (IZhO19_sortbooks) C++14
0 / 100
3000 ms 262148 KB
#include <bits/stdc++.h>
#define int long long
using namespace std;
int n;
long long a[1000005];
long long tree[1000005];
long long row;
set<int>s[2000005];
set<int>::iterator c;
void build(int id, int l, int r){
    if(l == r){
      tree[id] = a[l];
      s[id].insert(a[l]);
      return ;
    }
    int m = (l + r) / 2;
    build(id * 2, l, m);
    build(id * 2 + 1, m + 1, r);
    std::merge(s[id*2].begin(), s[id*2].end(),
                s[id*2+1].begin(), s[id*2+1].end(),
                std::inserter(s[id], s[id].begin()));
    tree[id] = max(tree[id * 2] ,tree[id * 2 + 1]);
}
long long query(int id, int L, int R, int l, int r){
	if(R < l || r < L) return 0;
	if(l <= L && R <= r) {
		return tree[id];
	}
	return max(query(id * 2, L, (L + R) / 2, l, r) ,query(id * 2 + 1, (L + R) / 2 + 1, R, l, r));
}
long long up(int id, int L, int R, int l, int r, int itr){
	if(R < l || r < L) return 0;
	if(l <= L && R <= r) {
		if(*s[id].begin() > itr) return 0;
		c = s[id].lower_bound(itr);
		c--;
		return *c;
	}
	return max(up(id * 2, L, (L + R) / 2, l, r, itr) ,up(id * 2 + 1, (L + R) / 2 + 1, R, l, r, itr));
}
long long sit(int l, int r){
    int m = (l + r) / 2;
    if(l == r) return 0;
    int x = query(1,1,n,l,m);
    long long k = up(1,1,n,m+1,r,x);
    if(k == 0) return max(sit(l, m) , sit(m+1, r)); 
	return max(sit(l, m) , max(sit(m+1, r) , k + x));
}
signed main(){
  	int Q;
  	cin >> n;
  	cin >> Q;
  	for(int i = 1; i <= n; i++) cin >> a[i];
	build(1, 1, n);
	while(Q--){
      	int type, l, r, x;
      	cin >> l >> r >> x;
      	if(sit(l,r) > x) cout << '0' << endl;
      	else cout << '1' << endl;
  	}
  	return 0;
}

Compilation message

sortbooks.cpp: In function 'int main()':
sortbooks.cpp:56:12: warning: unused variable 'type' [-Wunused-variable]
   56 |        int type, l, r, x;
      |            ^~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 44 ms 94156 KB Output is correct
2 Correct 59 ms 94188 KB Output is correct
3 Correct 46 ms 94212 KB Output is correct
4 Correct 46 ms 94220 KB Output is correct
5 Correct 45 ms 94276 KB Output is correct
6 Correct 67 ms 94372 KB Output is correct
7 Correct 63 ms 94348 KB Output is correct
8 Correct 75 ms 94408 KB Output is correct
9 Correct 55 ms 94276 KB Output is correct
10 Incorrect 71 ms 94256 KB Output isn't correct
11 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 44 ms 94156 KB Output is correct
2 Correct 59 ms 94188 KB Output is correct
3 Correct 46 ms 94212 KB Output is correct
4 Correct 46 ms 94220 KB Output is correct
5 Correct 45 ms 94276 KB Output is correct
6 Correct 67 ms 94372 KB Output is correct
7 Correct 63 ms 94348 KB Output is correct
8 Correct 75 ms 94408 KB Output is correct
9 Correct 55 ms 94276 KB Output is correct
10 Incorrect 71 ms 94256 KB Output isn't correct
11 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 785 ms 262148 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 3107 ms 149324 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 44 ms 94156 KB Output is correct
2 Correct 59 ms 94188 KB Output is correct
3 Correct 46 ms 94212 KB Output is correct
4 Correct 46 ms 94220 KB Output is correct
5 Correct 45 ms 94276 KB Output is correct
6 Correct 67 ms 94372 KB Output is correct
7 Correct 63 ms 94348 KB Output is correct
8 Correct 75 ms 94408 KB Output is correct
9 Correct 55 ms 94276 KB Output is correct
10 Incorrect 71 ms 94256 KB Output isn't correct
11 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 44 ms 94156 KB Output is correct
2 Correct 59 ms 94188 KB Output is correct
3 Correct 46 ms 94212 KB Output is correct
4 Correct 46 ms 94220 KB Output is correct
5 Correct 45 ms 94276 KB Output is correct
6 Correct 67 ms 94372 KB Output is correct
7 Correct 63 ms 94348 KB Output is correct
8 Correct 75 ms 94408 KB Output is correct
9 Correct 55 ms 94276 KB Output is correct
10 Incorrect 71 ms 94256 KB Output isn't correct
11 Halted 0 ms 0 KB -