Submission #69793178
Source Code Expand
Copy
#include <stdio.h>#include <stdlib.h>#include <inttypes.h>int cmp(const void* x, const void* y) {uint64_t a = *(const uint64_t*)x, b = *(const uint64_t*)y;return a < b ? -1 : a > b;}int kore;int sore[114514];uint64_t are[114514];int ans_cnt;uint64_t* ans;void sumipe(int pos, uint64_t cur) {if (pos >= kore) {ans[ans_cnt++] = cur;} else {int i;
#include <stdio.h> #include <stdlib.h> #include <inttypes.h> int cmp(const void* x, const void* y) { uint64_t a = *(const uint64_t*)x, b = *(const uint64_t*)y; return a < b ? -1 : a > b; } int kore; int sore[114514]; uint64_t are[114514]; int ans_cnt; uint64_t* ans; void sumipe(int pos, uint64_t cur) { if (pos >= kore) { ans[ans_cnt++] = cur; } else { int i; for (i = 0; i <= sore[pos]; i++) { sumipe(pos + 1, cur); cur *= are[pos]; } } } int main(void) { uint64_t X, Y; uint64_t asumisu, mizuhasu; uint64_t i; int num, j; if (scanf("%" SCNu64 "%" SCNu64, &X, &Y) != 2) return 1; /* GCD */ asumisu = X - 2015; mizuhasu = Y - 2015; while (mizuhasu > 0) { uint64_t kitaeri = asumisu % mizuhasu; asumisu = mizuhasu; mizuhasu = kitaeri; } /* 素因数分解 */ for (i = 2; i * i <= asumisu; i++) { if (asumisu % i == 0) { are[kore] = i; while (asumisu % i == 0) { sore[kore]++; asumisu /= i; } kore++; } } if (asumisu > 1) { are[kore] = asumisu; sore[kore] = 1; kore++; } /* 答えの数を計算 */ num = 1; for (j = 0; j < kore; j++) { num *= sore[j] + 1; } /* 答えを求める */ ans = malloc(sizeof(*ans) * num); if (ans == NULL) return 2; sumipe(0, 1); qsort(ans, ans_cnt, sizeof(*ans), cmp); for (j = 0; j < ans_cnt; j++) { printf("%" PRIu64 "\n", ans[j]); } return 0; }
Submission Info
Submission Time | |
---|---|
Task | A - Next TTPC 2 |
User | mikecat |
Language | C (gcc 12.2.0) |
Score | 200 |
Code Size | 1441 Byte |
Status | AC |
Exec Time | 3 ms |
Memory | 1860 KiB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 200 / 200 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample-01.txt, sample-02.txt, sample-03.txt |
All | 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 03-01.txt, 03-02.txt, 03-03.txt, 03-04.txt, 03-05.txt, 04-01.txt, 04-02.txt, 04-03.txt, 04-04.txt, 04-05.txt, 05-01.txt, 05-02.txt, 05-03.txt, 05-04.txt, 05-05.txt, sample-01.txt, sample-02.txt, sample-03.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01-01.txt | AC | 1 ms | 1740 KiB |
01-02.txt | AC | 1 ms | 1612 KiB |
01-03.txt | AC | 0 ms | 1744 KiB |
01-04.txt | AC | 1 ms | 1728 KiB |
01-05.txt | AC | 0 ms | 1764 KiB |
01-06.txt | AC | 0 ms | 1648 KiB |
01-07.txt | AC | 1 ms | 1584 KiB |
01-08.txt | AC | 0 ms | 1728 KiB |
01-09.txt | AC | 1 ms | 1644 KiB |
01-10.txt | AC | 0 ms | 1628 KiB |
02-01.txt | AC | 1 ms | 1624 KiB |
02-02.txt | AC | 1 ms | 1736 KiB |
02-03.txt | AC | 0 ms | 1664 KiB |
02-04.txt | AC | 0 ms | 1764 KiB |
02-05.txt | AC | 0 ms | 1744 KiB |
03-01.txt | AC | 1 ms | 1628 KiB |
03-02.txt | AC | 0 ms | 1636 KiB |
03-03.txt | AC | 1 ms | 1580 KiB |
03-04.txt | AC | 1 ms | 1736 KiB |
03-05.txt | AC | 1 ms | 1724 KiB |
04-01.txt | AC | 1 ms | 1860 KiB |
04-02.txt | AC | 1 ms | 1728 KiB |
04-03.txt | AC | 1 ms | 1760 KiB |
04-04.txt | AC | 1 ms | 1680 KiB |
04-05.txt | AC | 1 ms | 1640 KiB |
05-01.txt | AC | 2 ms | 1756 KiB |
05-02.txt | AC | 2 ms | 1732 KiB |
05-03.txt | AC | 2 ms | 1764 KiB |
05-04.txt | AC | 3 ms | 1620 KiB |
05-05.txt | AC | 3 ms | 1644 KiB |
sample-01.txt | AC | 0 ms | 1636 KiB |
sample-02.txt | AC | 0 ms | 1612 KiB |
sample-03.txt | AC | 0 ms | 1740 KiB |