Submission #854024

#TimeUsernameProblemLanguageResultExecution timeMemory
854024LoboWeird Numeral System (CCO21_day1problem2)C++17
0 / 25
1 ms600 KiB
#include<bits/stdc++.h> using namespace std; const long long inf = (long long) 1e18 + 10; const int inf1 = (int) 1e9 + 10; #define int long long #define dbl long double #define endl '\n' #define sc second #define fr first #define mp make_pair #define pb push_back #define all(x) x.begin(), x.end() const int maxn = -1; void solve() { int k,q,d,m; cin >> k >> q >> d >> m; vector<int> a; for(int i = 1; i <= d; i++) { int x; cin >> x; a.pb(x); } sort(all(a)); a.erase(unique(all(a)),a.end()); while(q--) { int n; cin >> n; vector<map<int,int>> dp(30); dp[0][n] = 0; int i = 0; while(dp[i].count(0) == 0 && dp[i].size() != 0) { assert(i < 30); for(auto X : dp[i]) { int nn = X.fr; for(auto x : a) { if((x%k+k)%k == (nn%k+k)%k) { dp[i+1][(nn-x)/k] = x; } } } i++; } if(dp[i].count(0) != 0) { vector<int> ans; int nn = 0; while(i != 0) { ans.pb(dp[i][nn]); nn = nn*k+dp[i][nn]; i--; } for(auto x : ans) cout << x << " "; cout << endl; } else { cout << "IMPOSSIBLE" << endl; } } } int32_t main() { ios::sync_with_stdio(false); cin.tie(0); // freopen("in.in", "r", stdin); // freopen("out.out", "w", stdout); int tt = 1; // cin >> tt; while(tt--) { solve(); } }

Compilation message (stderr)

Main.cpp: In function 'void solve()':
Main.cpp:56:13: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
   56 |             for(auto x : ans) cout << x << " "; cout << endl;
      |             ^~~
Main.cpp:56:49: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
   56 |             for(auto x : ans) cout << x << " "; cout << endl;
      |                                                 ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...