1 条题解
-
0
#include <bits/stdc++.h> using namespace std; typedef long long LL; LL s[110], a[1110000]; int p[110]; int main() { int n, k; scanf("%d%d", &n, &k); for(int i=1; i<=n; i++) scanf("%lld", &s[i]); memset(p, 0, sizeof(p)); a[0] = 1; for(int i=1; i<=k; i++) { LL minx = (LL)1 << 32; for(int j=1; j<=n; j++) { if(minx > s[j] * a[p[j]]) minx = s[j] * a[p[j]]; } a[i] = minx; for(int j=1; j<=n; j++) { while(a[i] >= s[j] * a[p[j]]) p[j]++; } } printf("%lld\n", a[k]); return 0; }
- 1
信息
- ID
- 1022
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 3
- 标签
- 递交数
- 51
- 已通过
- 28
- 上传者