Submission #418542

# Submission time Handle Problem Language Result Execution time Memory
418542 2021-06-05T13:22:20 Z fvogel499 Secret (JOI14_secret) C++14
0 / 100
20000 ms 8288 KB
/*
File created on 06/05/2021 at 15:10:35.
Link to problem: 
Description: 
Time complexity: O()
Space complexity: O()
Status: DEV
Copyright: Ⓒ 2021 Francois Vogel
*/

#include <iostream>
#include <cmath>
#include <vector>
#include <bitset>
#include <queue>
#include <cstring>
#include <set>
#include <unordered_set>
#include <map>
#include <unordered_map>
#include <algorithm>

#include "secret.h"

using namespace std;

#define pii pair<int, int>
#define f first
#define s second

#define pb push_back
#define ins insert
#define cls clear

#define ll long long

int b [1000][1000];
int a [1000];
int n;

void bs(int start, int end) {
    if (start > end) return;
    int mid = (start+end)/2;
    b[mid][mid] = a[mid];
    for (int i = mid-1; i >= start; i--) {
        b[i][mid] = Secret(b[i+1][mid], a[i]);
    }
    if (start >= end) return;
    b[mid+1][mid+1] = a[mid+1];
    for (int i = mid+2; i < end; i++) {
        b[mid+1][i] = Secret(b[mid+1][i-1], a[i]);
    }
    bs(start, mid-1);
    bs(mid+1, end);
}

void Init(int ln, int la []) {
    n = ln;
    for (int i = 0; i < n; i++) a[i] = la[i];
    bs(0, n-1);
}

int Query(int queryLeft, int queryRight) {
    if (queryLeft == queryRight) {
        return a[queryLeft];
    }
    int start = 0;
    int end = n-1;
    while (true) {
        int mid = (start+end)/2;
        if (queryLeft <= mid and mid < queryRight) {
            int res = Secret(b[queryLeft][mid], b[mid+1][queryRight]);
            return res;
        }
        if (queryRight < mid) end = mid-1;
        else start = mid+1;
    }
}

// signed main() {
//     cin.tie(0);
//     // ios_base::sync_with_stdio(0);

//     int d = 0;
//     d++;
// }
# Verdict Execution time Memory Grader output
1 Incorrect 137 ms 4424 KB Wrong Answer: Query(222, 254) - expected : 34031541, actual : 50543498.
2 Incorrect 140 ms 4436 KB Wrong Answer: Query(60, 375) - expected : 669221184, actual : 311474560.
3 Incorrect 137 ms 4408 KB Wrong Answer: Query(211, 401) - expected : 674373968, actual : 353554500.
4 Incorrect 514 ms 8260 KB Wrong Answer: Query(90, 497) - expected : 397934825, actual : 343081568.
5 Incorrect 514 ms 8196 KB Wrong Answer: Query(587, 915) - expected : 752404486, actual : 957013316.
6 Execution timed out 20066 ms 8232 KB Time limit exceeded
7 Incorrect 517 ms 8240 KB Wrong Answer: Query(84, 976) - expected : 742463504, actual : 675449873.
8 Incorrect 521 ms 8288 KB Wrong Answer: Query(58, 987) - expected : 20022464, actual : 273091792.
9 Incorrect 511 ms 8260 KB Wrong Answer: Query(33, 967) - expected : 676869696, actual : 827853577.
10 Incorrect 519 ms 8260 KB Wrong Answer: Query(116, 961) - expected : 68487362, actual : 337854787.