#include<stdio.h> #define ll long long int const int MK = 100005; const int N = 1005; int b; ll n, a[N]; ll cal(ll n) { ll ret = 0; for (int i = 0; i < b; ++i) { ret += (n - 1 + a[i]) / a[i]; } return ret; } int main() { int T, i, j, k; scanf("%d",&T); while (T--) { scanf("%d%d",&b,&n); for (i = 0; i < b; ++i) { scanf("%d",&a[i]); } ll l = 0, r = n * MK; while (l < r) { ll mid = l + r >> 1; if (cal(mid) < n) { l = mid + 1; } else { r = mid; } } int last = cal(l - 1), ans = 0; for (i = 0; i < b; ++i) { if ((l - 1) % a[i] == 0) { ++last; if (last == n) { ans = i + 1; break; } } } static int numCase = 0; printf("Case #%d: %d\n",++numCase,ans ); } return 0; } |
Double click to view unformatted code.