8 条题解
-
0
#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
- 上传者