提出 #69338184


ソースコード 拡げる

#include <iostream>
#include <string>
#include <algorithm>
#include <functional>
#include <vector>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <tuple>
#include <cstdio>
#include <cmath>
#include <cassert>
#define rep(i, n) for(i = 0; i < n; i++)
#define int long long
using namespace std;

int gcd(int a, int b) {
	if (b == 0) return a;
	return gcd(b, a % b);
}

int lcm(int a, int b) {
	return a / gcd(a, b) * b;
}

int n, m, Y;
int a[20];
int f[1 << 20];
int g[1 << 20];

signed main() {
	int i, j;

	cin >> n >> m >> Y;
	rep(i, n) cin >> a[i];
	
	rep(i, (1 << n)) {
		int l = 1;
		rep(j, n) {
			if ((i >> j) % 2) {
				int g = gcd(l, a[j]);
				if (l / g > Y / a[j]) {
					l = Y + 1;
					break;
				}
				l = lcm(l, a[j]);
			}
		}
		f[i] = Y / l;
	}

	rep(i, (1 << n)) g[i] = f[i];
	rep(i, n) {
		rep(j, (1 << n)) {
			if ((j >> i) % 2 == 0) {
				g[j] -= g[j + (1 << i)];
			}
		}
	}

	int ans = 0;
	rep(i, (1 << n)) {
		int bcnt = 0;
		rep(j, n) if ((i >> j) % 2) bcnt++;
		if (bcnt == m) ans += g[i];
	}
	cout << ans << endl;
	return 0;
}

提出情報

提出日時
問題 F - Loud Cicada
ユーザ startcpp
言語 C++ 20 (gcc 12.2)
得点 525
コード長 1146 Byte
結果 AC
実行時間 522 ms
メモリ 20096 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 525 / 525
結果
AC × 3
AC × 59
セット名 テストケース
Sample 00-sample-01.txt, 00-sample-02.txt, 00-sample-03.txt
All 00-sample-01.txt, 00-sample-02.txt, 00-sample-03.txt, 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, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 01-25.txt, 01-26.txt, 01-27.txt, 01-28.txt, 01-29.txt, 01-30.txt, 01-31.txt, 01-32.txt, 01-33.txt, 01-34.txt, 01-35.txt, 01-36.txt, 01-37.txt, 01-38.txt, 01-39.txt, 01-40.txt, 01-41.txt, 01-42.txt, 01-43.txt, 01-44.txt, 01-45.txt, 01-46.txt, 01-47.txt, 01-48.txt, 01-49.txt, 01-50.txt, 01-51.txt, 01-52.txt, 01-53.txt, 01-54.txt, 01-55.txt, 01-56.txt
ケース名 結果 実行時間 メモリ
00-sample-01.txt AC 1 ms 3560 KiB
00-sample-02.txt AC 1 ms 3584 KiB
00-sample-03.txt AC 261 ms 19904 KiB
01-01.txt AC 1 ms 3580 KiB
01-02.txt AC 1 ms 3584 KiB
01-03.txt AC 1 ms 3536 KiB
01-04.txt AC 1 ms 3536 KiB
01-05.txt AC 1 ms 3472 KiB
01-06.txt AC 1 ms 3724 KiB
01-07.txt AC 1 ms 3600 KiB
01-08.txt AC 1 ms 3524 KiB
01-09.txt AC 1 ms 3528 KiB
01-10.txt AC 1 ms 3536 KiB
01-11.txt AC 1 ms 3500 KiB
01-12.txt AC 1 ms 3532 KiB
01-13.txt AC 1 ms 3728 KiB
01-14.txt AC 1 ms 3532 KiB
01-15.txt AC 514 ms 20060 KiB
01-16.txt AC 518 ms 19912 KiB
01-17.txt AC 517 ms 19912 KiB
01-18.txt AC 390 ms 19912 KiB
01-19.txt AC 402 ms 20060 KiB
01-20.txt AC 347 ms 19912 KiB
01-21.txt AC 1 ms 3496 KiB
01-22.txt AC 1 ms 3608 KiB
01-23.txt AC 1 ms 3488 KiB
01-24.txt AC 1 ms 3652 KiB
01-25.txt AC 103 ms 7620 KiB
01-26.txt AC 1 ms 3512 KiB
01-27.txt AC 1 ms 3608 KiB
01-28.txt AC 1 ms 3596 KiB
01-29.txt AC 36 ms 7636 KiB
01-30.txt AC 1 ms 3700 KiB
01-31.txt AC 1 ms 3544 KiB
01-32.txt AC 1 ms 3688 KiB
01-33.txt AC 206 ms 20096 KiB
01-34.txt AC 259 ms 19920 KiB
01-35.txt AC 181 ms 19940 KiB
01-36.txt AC 287 ms 19964 KiB
01-37.txt AC 6 ms 3756 KiB
01-38.txt AC 12 ms 4096 KiB
01-39.txt AC 521 ms 19964 KiB
01-40.txt AC 521 ms 20032 KiB
01-41.txt AC 521 ms 19972 KiB
01-42.txt AC 522 ms 19972 KiB
01-43.txt AC 521 ms 19916 KiB
01-44.txt AC 228 ms 20004 KiB
01-45.txt AC 229 ms 19972 KiB
01-46.txt AC 466 ms 20028 KiB
01-47.txt AC 436 ms 19848 KiB
01-48.txt AC 450 ms 19976 KiB
01-49.txt AC 438 ms 19896 KiB
01-50.txt AC 4 ms 3788 KiB
01-51.txt AC 1 ms 3588 KiB
01-52.txt AC 288 ms 19940 KiB
01-53.txt AC 289 ms 19936 KiB
01-54.txt AC 289 ms 19904 KiB
01-55.txt AC 288 ms 19972 KiB
01-56.txt AC 288 ms 19968 KiB