8 条题解

  • 0
    @ 2026-10-18 11:23:46
    #include<bits/stdc++.h>
    using namespace std;
    struct N{int l,r;}a[1005];
    bool C(N x,N y){return 1ll*x.l*x.r<1ll*y.l*y.r;}
    vector<int>M(vector<int>&v,int x){
        vector<int>r;long long t=0;
        for(int i=0;i<v.size()||t;i++){if(i<v.size())t+=1ll*v[i]*x;r.push_back(t%10);t/=10;}
        return r;
    }
    vector<int>D(vector<int>&v,int x){
        vector<int>r;long long t=0;
        for(int i=v.size()-1;i>=0;i--){t=t*10+v[i];r.push_back(t/x);t%=x;}
        reverse(r.begin(),r.end());while(r.size()>1&&!r.back())r.pop_back();return r;
    }
    bool G(vector<int>&x,vector<int>&y){
        if(x.size()!=y.size())return x.size()>y.size();
        for(int i=x.size()-1;i>=0;i--)if(x[i]!=y[i])return x[i]>y[i];return 0;
    }
    void O(vector<int>&v){for(int i=v.size()-1;i>=0;i--)cout<<v[i];}
    int main(){
        ios::sync_with_stdio(0);cin.tie(0);
        int n,k1,k2;cin>>n>>k1>>k2;
        for(int i=1;i<=n;i++)cin>>a[i].l>>a[i].r;
        sort(a+1,a+n+1,C);
        vector<int>p={k1},a2={0};
        for(int i=1;i<=n;i++){vector<int>c=D(p,a[i].r);if(G(c,a2))a2=c;p=M(p,a[i].l);}
        O(a2);
    }

    信息

    ID
    25
    时间
    1000ms
    内存
    128MiB
    难度
    1
    标签
    递交数
    201
    已通过
    153
    上传者