解题思路:
利用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 人评分
C语言训练-自由落体问题 (C语言代码)浏览:1736 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:512 |
图形输出 (C语言代码)浏览:939 |
简单的a+b (C语言代码)浏览:629 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:403 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:565 |
母牛的故事 (C语言代码)浏览:562 |
1392题解(大数相加)浏览:602 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:763 |
简单的a+b (C语言代码)浏览:449 |