Submission #738042

#TimeUsernameProblemLanguageResultExecution timeMemory
738042anusha777Secret (JOI14_secret)C++14
0 / 100
20088 ms12132 KiB
#include "secret.h" #include <bits/stdc++.h> #define fast ios::sync_with_stdio(0); cin.tie(NULL);cout.tie(NULL) #define sz(x) (int)((x).size()) #define pb push_back #define vi vector<int> #define vb vector<bool> #define vvb vector<vb> #define pi pair<int,int> #define vpi vector<pi> #define vvi vector<vi> #define vc vector<char> #define all(x) x.begin(), x.end() #define rall(x) x.rbegin(), x.rend() #define pbb() pop_back() #define f first #define s second #define ll long long //#define int long long #define ull unsigned long long #define line cout<<"_____________________________"<<endl; #define hash cout<<"################"<<endl; #define forr(i, a, b) for(int i=a; i<b; i++) using namespace std; const int N=1e5+1, mod=1e9+7, inf=1e18+1; vi a; vvi ldp, rdp; int n; void populate(int l, int r) { int m= (l+r)/2; ldp[m][m]=rdp[m][m]=a[m]; for(int i=m+1; i<=r; i++) rdp[m][i]= Secret(rdp[m][i-1], a[i]); for(int i=m-1; i>=l; i--) ldp[m][i]= Secret(ldp[m][i+1],a[i]); if(l!=m) populate(l, m); if(r!=m) populate(m, r); } void Init(int m, int A[]) { n=m; ldp.resize(n, vi(n)); rdp.resize(n, vi(n)); a.resize(n); forr(i, 0, n) a[i]= A[i]; populate(0, n-1); } int query(int lx, int rx, int l, int r) { int mx=(lx+rx)/2; if(r<mx) return query(lx, mx, l, r); if(mx<l) return query(mx, rx, l, r); return Secret(ldp[mx][l], rdp[mx][r]); } int Query(int l, int r) { return query(0, n-1, l, r); }

Compilation message (stderr)

secret.cpp:25:39: warning: overflow in conversion from 'double' to 'int' changes value from '1.0e+18' to '2147483647' [-Woverflow]
   25 | const int N=1e5+1, mod=1e9+7, inf=1e18+1;
      |                                   ~~~~^~
#Verdict Execution timeMemoryGrader output
Fetching results...