Submission #570955

# Submission time Handle Problem Language Result Execution time Memory
570955 2022-05-31T17:30:27 Z beaconmc Secret (JOI14_secret) C++14
0 / 100
20000 ms 8500 KB
#include <bits/stdc++.h>
#pragma GCC optimize("O3")
typedef long long ll;
#define FOR(i,x,y) for(ll i=x; i<y; i++)
#define FORNEG(i,x,y) for(ll i=x; i>y; i--)
#define double long double
#include "secret.h"

using namespace std;

vector<vector<ll>> sus(129);
vector<ll> nums(129);
ll n;

int Secret(ll a, ll b){
	return a+b;
}

void sussy(ll a, ll b){
	if (b-a > 2){
		ll mid = (a+b)/2;

		vector<ll> left;
		vector<ll> right;

		left.push_back(nums[mid-1]);

		FORNEG(i, mid-2, a-1){
			left.push_back(Secret(nums[i], left[left.size()-1]));
		}

		right.push_back(nums[mid]);
		FOR(i,mid+1, b){
			right.push_back(Secret(right[right.size()-1], nums[i]));
		}

		reverse(left.begin(), left.end());

		for (auto&i : left){
			sus[mid].push_back(i);
		}

		for (auto&i : right){
			sus[mid].push_back(i);
		}

		sussy(a, mid);
		sussy(mid, b);
	}
}

void Init(int N, int A[]) {
	n = N;
	FOR(i,0,128) nums[i] = 1;

	FOR(i,0,N) nums[i] = A[i];

	sussy(0,128);
}

int Query(int L, int R){
	if (R == L+1){
		return Secret(nums[L], nums[R]);
	}
	ll lo = 0;
	ll hi = 128;

	while (lo<hi){
		ll mid = (lo+hi)/2;

		if (hi>n){
			hi = mid;
			continue;
		}
		
		if (L<=mid && mid<=R){

			ll size = sus[mid].size()/2;

			return Secret(sus[mid][size+(R-mid)], sus[mid][size - (mid - L)]);
		}

		if (mid<=L && mid<=R){
			lo = mid;
		}
		if (mid >= L && mid >= R){
			hi = mid;
		}
	}
}

// int main(){
// 	int sussy[10] =  {1,2,3,4,5,6,7,8,9,10};

// 	Init(10, sussy);

// 	cout << Query(2,5);
// }







Compilation message

secret.cpp: In function 'int Query(int, int)':
secret.cpp:90:1: warning: control reaches end of non-void function [-Wreturn-type]
   90 | }
      | ^
# Verdict Execution time Memory Grader output
1 Execution timed out 20062 ms 2296 KB Time limit exceeded
2 Runtime error 114 ms 4684 KB Execution killed with signal 6
3 Execution timed out 20017 ms 2332 KB Time limit exceeded
4 Incorrect 445 ms 4436 KB Wrong Answer: Query(90, 497) - expected : 397934825, actual : -458807831.
5 Execution timed out 20026 ms 4236 KB Time limit exceeded
6 Execution timed out 20077 ms 4272 KB Time limit exceeded
7 Incorrect 434 ms 4324 KB Wrong Answer: Query(84, 976) - expected : 742463504, actual : 1236943692.
8 Incorrect 473 ms 4348 KB Wrong Answer: Query(58, 987) - expected : 20022464, actual : -1876055356.
9 Incorrect 441 ms 4328 KB Wrong Answer: Query(33, 967) - expected : 676869696, actual : 1647854795.
10 Runtime error 440 ms 8500 KB Execution killed with signal 6