hdu 1087
水题
最长递增子序列和,dp更好
AC代码:
#include <iostream> #include <cstring> #define MAX(a,b) a>b?a:b using namespace std; int main() { int i,sum[1000],a[1000],n,j; while(cin>>n&&n) { for(i=1;i<=n;i++) {cin>>a[i]; sum[i]=0;} for(i=1;i<=n;i++) { int flag=0; for(j=i-1;j>=1;j--) if(a[i]>a[j]&&flag<sum[j]) flag=sum[j]; sum[i]=a[i]+flag; } int Max=sum[1]; for(i=2;i<=n;i++) if(Max<sum[i]) Max=sum[i]; cout<<Max<<endl; } return 0; }