Submission #526396

# Submission time Handle Problem Language Result Execution time Memory
526396 2022-02-14T15:37:10 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(){
	ios_base::sync_with_stdio(false);
    cin.tie(NULL);

  	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:59:12: warning: unused variable 'type' [-Wunused-variable]
   59 |        int type, l, r, x;
      |            ^~~~
# Verdict Execution time Memory Grader output
1 Correct 42 ms 94232 KB Output is correct
2 Correct 42 ms 94228 KB Output is correct
3 Correct 45 ms 94236 KB Output is correct
4 Correct 44 ms 94232 KB Output is correct
5 Correct 43 ms 94252 KB Output is correct
6 Correct 61 ms 94396 KB Output is correct
7 Correct 63 ms 94432 KB Output is correct
8 Correct 70 ms 94432 KB Output is correct
9 Correct 51 ms 94232 KB Output is correct
10 Incorrect 66 ms 94272 KB Output isn't correct
11 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 42 ms 94232 KB Output is correct
2 Correct 42 ms 94228 KB Output is correct
3 Correct 45 ms 94236 KB Output is correct
4 Correct 44 ms 94232 KB Output is correct
5 Correct 43 ms 94252 KB Output is correct
6 Correct 61 ms 94396 KB Output is correct
7 Correct 63 ms 94432 KB Output is correct
8 Correct 70 ms 94432 KB Output is correct
9 Correct 51 ms 94232 KB Output is correct
10 Incorrect 66 ms 94272 KB Output isn't correct
11 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 472 ms 262148 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 3075 ms 149420 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 42 ms 94232 KB Output is correct
2 Correct 42 ms 94228 KB Output is correct
3 Correct 45 ms 94236 KB Output is correct
4 Correct 44 ms 94232 KB Output is correct
5 Correct 43 ms 94252 KB Output is correct
6 Correct 61 ms 94396 KB Output is correct
7 Correct 63 ms 94432 KB Output is correct
8 Correct 70 ms 94432 KB Output is correct
9 Correct 51 ms 94232 KB Output is correct
10 Incorrect 66 ms 94272 KB Output isn't correct
11 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 42 ms 94232 KB Output is correct
2 Correct 42 ms 94228 KB Output is correct
3 Correct 45 ms 94236 KB Output is correct
4 Correct 44 ms 94232 KB Output is correct
5 Correct 43 ms 94252 KB Output is correct
6 Correct 61 ms 94396 KB Output is correct
7 Correct 63 ms 94432 KB Output is correct
8 Correct 70 ms 94432 KB Output is correct
9 Correct 51 ms 94232 KB Output is correct
10 Incorrect 66 ms 94272 KB Output isn't correct
11 Halted 0 ms 0 KB -