解题思路:
利用upper_bound()二分查找出合适的插入位置进行插入,若位置大于等于当前插入数的总数,则满意度加一。
注意事项:
有问题的可以留言喔
参考代码:
#include <bits/stdc++.h> using namespace std; int ans[1005]; int main(){ int n,x,count=0; cin>>n; for(int i=0;i<n;i++){ cin>>x; int k = upper_bound(ans,ans+count,x)-ans; ans[k]=x; if(k>=count) count++; } cout<<count; }
0.0分
0 人评分
DNA (C语言描述,数据结构)浏览:862 |
数列问题 (C语言代码)浏览:1022 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:585 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:573 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:533 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:394 |
【计算球体积】 (C语言代码)浏览:1552 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:1270 |
哥德巴赫曾猜测 (C语言代码)浏览:725 |
简单的a+b (C语言代码)浏览:565 |