| 比赛 | 
    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;
}