本文共 1393 字,大约阅读时间需要 4 分钟。
题目1480:最大上升子序列和/********************************** 日期:2013-3-25* 作者:SJF0115* 题号: 题目1480:最大上升子序列和* 来源:http://ac.jobdu.com/problem.php?pid=1480* 结果:AC* 来源:2012年北京大学计算机研究生机试真题* 总结:**********************************/#include#include int array[1010];int Max[1010];void LIS(int k){ memset(Max,0,sizeof(Max)); for(int i = 1;i <= k; i++){ Max[i] = array[i]; //和i号数据之前的数据比较 for(int j = 1;j < i;j++){ if(array[i] > array[j]){ if(Max[i] < Max[j] + array[i]){ Max[i] = Max[j] + array[i]; } } } }} int main(){ int N,i; //freopen("C:\\Users\\SJF\\Desktop\\acm.txt","r",stdin); while(scanf("%d",&N)!=EOF){ //输入数据 for(i = 1;i <= N;i++){ scanf("%d",&array[i]); } LIS(N); //输出最大值 int MaxValue = -1; for(i = 1;i <= N;i++){ if(MaxValue < Max[i]){ MaxValue = Max[i]; } } printf("%d\n",MaxValue); } return 0;}
转载地址:http://pucsi.baihongyu.com/