Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
140867 梁乃元 和谐俱乐部 C++ 解答错误 90 0 MS 260 KB 929 2024-03-31 22:03:08

Tests(9/10):


# include <bits/stdc++.h> using namespace std ; struct ppl { int a , b ; void rd ( ) { cin >> a >> b ; } } man [100005] ; int f [100005] , longest ; bool cmp ( ppl x , ppl y ) { return ( x . a != y . a ? ( x . a < y . a ) : ( x . b > y . b ) ) ; } int main ( ) { int n ; cin >> n ; for ( int i = 1 ; i <= n ; i ++ ) { man [i] . rd ( ) ; } sort ( man + 1 , man + n + 1 , cmp ) ; f [1] = man [1] . b ; for ( int i = 2 ; i <= n ; i ++ ) { if ( f [longest] < man [i] . b ) { f [++ longest] = man [i] . b ; } else { int L = 0 , R = longest ; while ( L <= R ) { int mid = ( L + R ) >> 1 ; if ( f [mid] < man [i] . b ) { L = mid + 1 ; if ( f [mid + 1] > man [i] . b ) { break ; } } else { R = mid - 1 ; } } f [L] = man [i] . b ; } } cout << longest << endl ; return 0 ; }


测评信息: