Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
173661 万曜诚 国王游戏 C++ 无测评数据 0 0 MS 0 KB 1084 2024-08-20 23:10:50

Tests(0/0):


#include <bits/stdc++.h> using namespace std; struct people { int a,b; } ps[100005]; int s[1000000] ={1},ans[1000000],slen = 1; bool cmp(people p1,people p2){ return p1.a * p1.b < p2.a * p2.b; } void mul(int n); void div(int n); void print(); int main() { int n; cin >> n; for(int i = 0;i <= n;i++) { cin >> ps[i].a >> ps[i].b; } sort(ps+1,ps+n+1,cmp); for(int i = 0;i < n;i++) { mul(ps[i].a); } div(ps[n].b); print(); return 0; } void mul(int n) { int tem = 0; for(int i = 0;i < slen;i++) { s[i] *= n; } for(int i = 0;i < slen;i++) { tem = tem + s[i]; s[i] = tem % 10; tem /= 10; } while(tem != 0) { s[slen] = tem % 10; slen++; tem /= 10; } return; } void div(int n) { int tem = 0; for(int i = slen - 1;i >= 0;i--) { tem = tem * 10 + s[i]; ans[i] = tem / n; tem %= n; } return; } void print() { int tmp = slen; while(ans[tmp] == 0 ) { tmp--; if(tmp == -1){ cout << 1; return; } } for(int i = tmp;i >= 0;i--) { cout << ans[i]; } }