# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
480513 | 2021-10-16T18:30:26 Z | rainboy | Popcount (COCI19_popcount) | C | 3 ms | 276 KB |
#include <stdio.h> #include <string.h> #define N 500 #define L 256 void mult2(int *aa) { int h; for (h = 0; h < L; h++) if ((aa[h] *= 2) >= 10) aa[h] -= 10, aa[h + 1]++; } void add1(int *aa) { int h; aa[0] += 1; for (h = 0; h < L; h++) if (aa[h] >= 10) aa[h] -= 10, aa[h + 1]++; } int main() { static int aa[L]; static char cc[N + 1]; int n, m, l, i; scanf("%d%*d", &n); for (m = 1; m < n; m <<= 1) { memset(aa, 0, L * sizeof *aa); for (i = n - 1; i >= 0; i--) { mult2(aa); if (i % (m * 2) < m) add1(aa); } l = L; while (l > 1 && aa[l - 1] == 0) l--; for (i = l - 1; i >= 0; i--) cc[l - 1 - i] = aa[i] + '0'; printf("A=(A&%s)+((A>>%d)&%s)\n", cc, m, cc); } return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 204 KB | Wrong output format. |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 3 ms | 276 KB | Wrong output format. |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 204 KB | Wrong output format. |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 204 KB | Wrong output format. |
2 | Halted | 0 ms | 0 KB | - |