- Quiz
- AC
- 解説
- どの曜日から開始すれば最速に課題を終えられるかという問題。7種類しかないので、7パターン全ての場合で何日かかるか求めてminをとればいい
- 曜日のズラシにはrotateを使用
ll f(VI& A, ll K){
ll sum = SUM(A);
ll ans = 0;
ll loop = -1;
if(K%sum==0){
loop = K/sum - 1;
}else{
loop = K/sum;
}
ans += 7*loop;
K -= sum*loop;
ll i=0;
while(K>0){
if(A[i]==1)K--;
i++;
i%=7;
ans++;
}
return ans;
}
void solve(){
ll K;cin>>K;
VI A(7);
rep(i,7)cin>>A[i];
ll mi = inf;
rep(i,7){
ll n = f(A, K);
chmin(mi, n);
rotate(A.begin(), A.begin()+1, A.end());
}
p(mi);
}
int main(){
cin.tie(0);
ios::sync_with_stdio(false);
ll N;
cin>>N;
while(N--)solve();
return 0;
}