26 条题解

  • 0
    @ 2026-1-15 16:26:10
    #include<bits/stdc++.h>
    using namespace std;
    int t,k,l,r,mid,ans,s;
    int f(int t)
    {
       int s=5,ans=0;
       while(t>=s)
       {
          ans+=t/s;
          s*=5;
       }
       return ans;
    }
    int main()
    {
       cin>>t;
       for(int i=1;i<=t;i++)
       {
          cin>>k;
          l=1,r=5*k;
          ans=0;
          while(l<=r)
          {
             mid=(l+r)/2;
             s=f(mid);
             if(s==k)
             {
                ans=mid/5*5;
                break;
             }
             else if(s>k) r=mid-1;
                  else l=mid+1;
          }
          if(ans==0) cout<<"impossible"<<endl;
          else cout<<ans<<endl;
       }
       return 0;
    }
    

    信息

    ID
    103
    时间
    1000ms
    内存
    256MiB
    难度
    6
    标签
    递交数
    47
    已通过
    15
    上传者