# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
199771 | 2020-02-03T09:31:10 Z | SamAnd | Popcount (COCI19_popcount) | C++17 | 18 ms | 376 KB |
#include <bits/stdc++.h> using namespace std; int n, k; void solv1() { cout << k << endl; for (int i = 1; i <= k; ++i) { cout << "A=((A-(A&"; cout << "(1<<" << i << ")))"; cout << "+((A&"; cout << "(1<<" << i << "))"; cout << ">>" << i << "))\n"; } } 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.back() == 0) ans.pop_back(); reverse(ans.begin(), ans.end()); return ans; } void tp(const vector<int>& v) { for (int i = 0; i < v.size(); ++i) cout << v[i]; } void solv4() { int q; for (int i = 0; i < k; ++i) { for (int j = 0; j < n; ++j) { if ((j & (1 << i))) { q = i; break; } } if (q != i) break; } ++q; cout << q << endl; for (int i = 0; i < q; ++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); } cout << "A=(("; tp(v1); cout << "&A)+(("; tp(v2); cout << "&A)>>" << (i + 1) << "))\n"; } } int main() { cin >> n >> k; if (n == 1) { cout << "0\n"; return 0; } solv4(); return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 376 KB | Accepted. |
2 | Correct | 5 ms | 256 KB | Accepted. |
3 | Correct | 5 ms | 256 KB | Accepted. |
4 | Incorrect | 5 ms | 256 KB | Wrong answer. |
5 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 18 ms | 376 KB | Wrong answer. |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 256 KB | Accepted. |
2 | Incorrect | 5 ms | 256 KB | Wrong answer. |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 7 ms | 376 KB | Wrong answer. |
2 | Halted | 0 ms | 0 KB | - |