Submission #243605

#TimeUsernameProblemLanguageResultExecution timeMemory
243605anubhavdharBrunhilda’s Birthday (BOI13_brunhilda)C++14
0 / 100
355 ms262148 KiB
#include<bits/stdc++.h> #define ll long long int #define pb push_back #define mp make_pair #define FOR(i,n) for(i=0;i<(n);++i) #define FORe(i,n) for(i=1;i<=(n);++i) #define FORr(i,a,b) for(i=(a);i<(b);++i) #define FORrev(i,n) for(i=(n);i>=0;--i) #define F0R(i,n) for(int i=0;i<(n);++i) #define F0Re(i,n) for(int i=1;i<=(n);++i) #define F0Rr(i,a,b) for(ll i=(a);i<(b);++i) #define F0Rrev(i,n) for(int i=(n);i>=0;--i) #define ii pair<ll,ll> #define vi vector<ll> #define vii vector<ii> #define ff first #define ss second #define cd complex<double> #define vcd vector<cd> #define ldd long double #define dbgLine cout<<"Line : "<<__LINE__<<'\n' #define all(x) (x).begin(),(x).end() using namespace std; const short int __PRECISION = 10; const ll MOD = 1e9+7; const ll INF = 1e17 + 1101; const ll LOGN = 17; const ll MAXN = 1e7+5; const ll ROOTN = 320; const ldd PI = acos(-1); const ldd EPS = 1e-7; const int inf = 1e9 + 4; int dp[MAXN], m, Q, p[MAXN]; vector<int> g[MAXN]; inline void init() { cin>>m>>Q; F0R(i, m) cin>>p[i]; sort(p, p + m); F0R(i, m) for(int j = p[i]; j < MAXN; j += p[i]) g[j].pb(i); dp[0] = 0; dp[1] = 1; multiset<int> S; int curr[m], mex; F0R(i, m) S.insert(0), curr[i] = 0; F0Rr(i, 2, MAXN) { for(int j : g[i]) { S.erase(S.find(curr[j])); curr[j] = i; S.insert(i); } if(0 != *(S.begin()) and *(S.begin()) == *(S.rbegin())) { mex = i; break; } dp[i] = 1 + dp[*(S.begin())]; } F0Rr(i, mex, MAXN) dp[i] = inf; // dbgLine; } int main() { /* ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); */ int n; init(); F0Re(i, Q) { // n = i;cout<<"ans("<<i<<") = "; cin>>n; if(dp[n] < inf) cout<<dp[n]<<'\n'; else cout<<"oo\n"; } return 0; }

Compilation message (stderr)

brunhilda.cpp: In function 'void init()':
brunhilda.cpp:76:7: warning: 'mex' may be used uninitialized in this function [-Wmaybe-uninitialized]
  F0Rr(i, mex, MAXN)
       ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...