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;
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#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
AC × 3
AC × 33
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


2025-10-03 (Fri)
08:58:32 +09:00