Submission #25328

#TimeUsernameProblemLanguageResultExecution timeMemory
25328dotoryaSecret (JOI14_secret)C++14
0 / 100
609 ms6640 KiB
#include <stdio.h> #include <algorithm> #include <assert.h> #include <bitset> #include <cmath> #include <complex> #include <deque> #include <functional> #include <iostream> #include <limits.h> #include <map> #include <math.h> #include <queue> #include <set> #include <stdlib.h> #include <string.h> #include <string> #include <time.h> #include <unordered_map> #include <unordered_set> #include <vector> #pragma warning(disable:4996) #pragma comment(linker, "/STACK:336777216") using namespace std; #define mp make_pair #define Fi first #define Se second #define pb(x) push_back(x) #define szz(x) ((int)(x).size()) #define rep(i, n) for(int i=0;i<n;i++) #define all(x) (x).begin(), (x).end() #define ldb ldouble typedef tuple<int, int, int> t3; typedef long long ll; typedef unsigned long long ull; typedef double db; typedef long double ldb; typedef pair <int, int> pii; typedef pair <ll, ll> pll; typedef pair <ll, int> pli; typedef pair <db, db> pdd; int IT_MAX = 1 << 18; const ll MOD = 1000000007; const int INF = 0x3f3f3f3f; const ll LL_INF = 0x3f3f3f3f3f3f3f3f; const db PI = acos(-1); const db ERR = 1e-10; #include "secret.h" map <int, int> Mx1[1050]; map <int, int> Mx2[1050]; int mySecret(int a, int b) { if (a == -1) return b; if (b == -1) return a; return Secret(a, b); } void Init(int N, int A[]) { int i, j; for (i = N; i >= 1; i--) { int prv = -1; for (j = i; j <= N; j += j & (-j)) { if (i == j) Mx1[i][i] = A[i-1]; else Mx1[i][j] = mySecret(Mx1[i][prv], Mx1[prv + 1][j]); prv = j; } } for (i = 1; i <= N; i++) { int prv = -1; for (j = i; j; j -= j & (-j)) { if (i == j) Mx2[i][j] = -1; else if (j + 1 == i) Mx2[i][j] = A[i-1]; else Mx2[i][j] = mySecret(Mx2[i][prv], Mx2[prv][j]); prv = j; } } } int Query(int L, int R) { L++, R++; set <int> Su1; set <int> Su2; for (int t = L; t <= R; t += t & (-t)) Su1.insert(t); for (int t = R; t >= L; t -= t & (-t)) { if (Su1.count(t)) return mySecret(Mx1[L][t], Mx2[R][t]); } return 0; }

Compilation message (stderr)

secret.cpp:23:0: warning: ignoring #pragma warning  [-Wunknown-pragmas]
 #pragma warning(disable:4996)  
 ^
secret.cpp:24:0: warning: ignoring #pragma comment  [-Wunknown-pragmas]
 #pragma comment(linker, "/STACK:336777216")  
 ^
#Verdict Execution timeMemoryGrader output
Fetching results...