玄关求调(或 hank )
查看原帖
玄关求调(或 hank )
1344756
ROU_bing楼主2025/6/29 17:09
#include <bits/stdc++.h>
#define int long long

using namespace std;

int t,n,m,a;
int last,now,last1,last2;
int ans1,ans2;

signed main(){
    scanf("%lld",&t);
    while(t--){
        ans1=ans2=last=now=last1=last2=0;
        scanf("%lld%lld",&n,&m);
        for(int i=1;i<=n;i++){
            scanf("%lld",&a);
            if(m/a>=m/(m/a)){
                now=1;
                ans1+=m/a;
            }else{
                now=m%a==0?0:2;
                ans1+=m/(m/a);
            }
            if(a*a==m)   now=0;
            if((now==1 && last==0) || (now==2 && last==1))    ans2++;
            else if(now==2){
                if(last1==0 && last2==0)    ans2+=2;
                else if(last1>last2)    ans2++;
            }
            last1=now==1?i:last1;
            last2=now==2?i:last2;
            last=now;
        }
        printf("%lld %lld\n",ans1,ans2);
    }
    return 0;
}
2025/6/29 17:09
加载中...