#include <iostream>
#define N 9 //数组长度
//计算序列a[N]的最长单调连续递增子序列,设最长序列为a[i]~a[j];
template <class T>
void Longest(int& besti, int& bestj, int n, T a[]) {
int max=0;
for (int k=0; k<n; k++) {
//以k为头的子序列
for (int m=k; m<n; m++ ) {
//以m为尾的子序列
if (a[m+1]>=a[m]) //单调递增时,序列长度加1.
continue;
else {
if (max < m-k) {
max = m-k ;
besti = k;
bestj = m;
}
k = m; //从第m+1位置(即下一个递增序列)开始,重新计算子序列。
break; //(此轮循环结束后会自增1,所以从k=m,即从m+1开始。)
}
}
}
} //最好算法时间复