Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
139716 梁乃元 国王游戏 C++ 编译错误 0 0 MS 0 KB 1987 2024-03-24 21:10:37

Tests(0/0):


# include <bits/stdc++.h> using namespace std ; struct ppl { int a , b ; void rd ( ) { cin >> a >> b ; } } mn [10005] ; int tmp [20005] , div [20005] , rsl [20005] ; bool cmp ( ppl a , ppl b ) { return a , a * a . b < b . a * b . b ; } string mx ( string a , string b ) { return ( a . size ( ) != b . size ( ) ? ( a . size ( ) > b . size ( ) ? a : b ) : ( a > b ? a : b ) ) ; } string tstr ( int num ) { strint ans = "" ; while ( num ) { ans = num % 10 + '0' + ans ; } return ans ; } string mul ( string a , string b ) { int len = a . size ( ) + b . size ( ) ; string ans = "" ; reverse ( a . begin ( ) , a . end ( ) ) ; reverse ( b . begin ( ) , b . end ( ) ) ; for ( int i = 0 ; i < a . size ( ) ; i ++ ) { for ( int j = 0 ; j < b . size ( ) ; j ++ ) { tmp [i + j] += ( a [i] - '0' ) * ( b [j] - '0' ) ; } } for ( int i = 0 ; i < a . size ( ) + b . size ( ) ; i ++ ) { if ( tmp [i] >= 10 ) { tmp [i + 1] += tmp [i] / 10 ; tmp [i] %= 10 ; } } while ( ! tmp [len] ) { len -- ; } for ( int i = len ; i >= 0 ; i -- ) { ans += tmp [i] + '0' ; } return ans ; } string dvd ( string a , int b ) { int rem = 0 , len = 1 ; string ans = "" ; for ( int i = 0 ; i < a . size ( ) ; i ++ ) { div [i + 1] = a [i] - '0' ; } for ( int i = 1 ; i <= a . size ( ) ; i ++ ) { rsl [i] = ( rem * 10 + div [i] ) / b ; rem = ( rem * 10 + div [i] ) % b ; } while ( ! rsl [len] && len < a . size ( ) ) { len ++ ; } for ( int i = len ; i <= a . size ( ) ; i ++ ) { ans += rsl + '0' ; } return ans ; } int main ( ) { int n ; cin >> n ; for ( int i = 1 ; i <= n ; i ++ ) { mn [i] . rd ( ) ; } sort ( mn + 1 , mn + n + 1 , cmp ) ; string ans = "0" ; string muls = tstr ( mn [1] . a ) ; while ( n -- ) { ans = mx ( ans , div ( mul , mn [i] . b ) ) ; muls = mul ( muls , tstr ( mn [i] . a ) ) ; } cout << ans << endl ; }


测评信息: