比赛 2025.5.5 评测结果 WWWWWWAWAWWWAWAWWWWW
题目名称 friends 最终得分 20
用户昵称 LikableP 运行时间 2.150 s
代码语言 C++ 内存使用 1.52 MiB
提交时间 2025-05-05 10:50:43
显示代码纯文本
#include <cstdio>
#include <cmath>
typedef long long ll;

int n, k; 
int a[20];
int price[20];
int notenough;

int main() {
	freopen("friends.in", "r", stdin);
	freopen("friends.out", "w", stdout);
	scanf("%d %d", &n, &k);
	notenough = n;
	for (int i = 1; i <= n; ++i) {
		scanf("%d", &a[i]);
	}
	for (ll day = 1; ; ++day) {
		int minn = 0x7fffffff, mini = 0, minai = 0;
		for (int i = 1; i <= n; ++i) {
			if ((int)ceil(day / 1.0 / a[i]) & 1) {
				if (price[i] == k) continue;
				if (a[i] - ((day - 1) % a[i]) < minn) {
					minn = a[i] - ((day - 1) % a[i]);
					mini = i;
					minai = a[i];
				} else if (a[i] - ((day - 1) % a[i]) == minn) {
					if (a[i] > minai) {
						mini = i;
						minai = a[i];
					}
				}
			}
		}
		if (!mini) continue;
		price[mini]++;
		if (price[mini] == k) notenough--;
		if (!notenough) {
			printf("%lld", day);
			break;
		}
	}
	return 0;
}