Submission #199782

#TimeUsernameProblemLanguageResultExecution timeMemory
199782SamAndPopcount (COCI19_popcount)C++17
110 / 110
23 ms380 KiB
#include <bits/stdc++.h> using namespace std; int n, k; vector<int> gum(vector<int> a, vector<int> b) { vector<int> ans; reverse(a.begin(), a.end()); reverse(b.begin(), b.end()); while (a.size() < b.size()) a.push_back(0); while (b.size() < a.size()) b.push_back(0); int m = 0; for (int i = 0; i < a.size(); ++i) { ans.push_back((a[i] + b[i] + m) % 10); m = (a[i] + b[i] + m) / 10; } ans.push_back(m); while (!ans.empty() && ans.back() == 0) ans.pop_back(); reverse(ans.begin(), ans.end()); return ans; } void tp(vector<int> v) { if (v.empty()) v.push_back(0); for (int i = 0; i < v.size(); ++i) cout << v[i]; } void solv4() { k = min(k, 10); cout << k << endl; for (int i = 0; i < k; ++i) { vector<int> v1, v2; vector<int> ast = {1}; for (int j = 0; j < n; ++j) { if ((j & (1 << i)) == 0) { v1 = gum(v1, ast); } else { v2 = gum(v2, ast); } ast = gum(ast, ast); } ast = {1}; for (int j = 0; j < i; ++j) ast = gum(ast, ast); cout << "A=(("; tp(v1); cout << "&A)+(("; tp(v2); if (v2.empty()) cout << "&A)>>" << 0 << "))\n"; else { cout << "&A)>>"; tp(ast); cout << "))\n"; } } } int main() { cin >> n >> k; solv4(); return 0; }

Compilation message (stderr)

popcount.cpp: In function 'std::vector<int> gum(std::vector<int>, std::vector<int>)':
popcount.cpp:16:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i = 0; i < a.size(); ++i)
                     ~~^~~~~~~~~~
popcount.cpp: In function 'void tp(std::vector<int>)':
popcount.cpp:32:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i = 0; i < v.size(); ++i)
                     ~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...