最近教练发了一道题目,然后我已经发现std和数据有误,但是我不会严格证明,请大家帮下忙。
给定一个序列 a ,设其长度为 n ,其最长上升子序列长度为 m.
如何证明 n−m 不一定等于以下代码的输出结果?
(注:num为 a 序列,n为长度)
#include<bits/stdc++.h>
using namespace std;
int n,ans,num[100100];
int main(){
scanf("%d%d",&n,&num[0]);
for(int i=1;i<n;i++){
scanf("%d",&num[i]);
if(num[i]<=num[i-1])ans++;
}
printf("%d",ans);
}