死循环求助
查看原帖
死循环求助
520423
封禁用户楼主2021/9/16 20:56
#include<iostream>
#include<algorithm> 
#define ull unsigned long long
using namespace std;
//389 207 155 300 299 170 158 65 
struct number{
	int v=0,k=1;
	//v是自己的值,k是自己后面的最长不上升序列长度 
}a[100001];
int main(){
	int n=0;
	while(cin>>a[n++].v);
	for(int i=n-1;i>=0;--i){
		for(int j=i+1;i<n;j++){
			//在i后面寻找值比自己小且不下降子序列最大的元素
			//找到了就加上它的长度 
			number mx = a[i];
			if(a[j].v<a[i].v){
				
				if( a[j].k>mx.k ) mx.k += a[j].k; 
				//break;
			}
			a[i].k += mx.k;
		}
		cout<<a[i].v<<' '<<a[i].k<<endl; //测试 
	}
	cout<<a[0].k;
    return 0;
}
2021/9/16 20:56
加载中...