兄弟们帮忙看看为什么样例都对的,结果交上去一个都没过
查看原帖
兄弟们帮忙看看为什么样例都对的,结果交上去一个都没过
668320
fufuQAQ楼主2022/4/5 20:59
cpp
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=1e4+10;
ll int m,n,x,y;//last记录和上一个数是谁 
//int dp[510]={1};  //错误点1:这样定义数组,除了第一个数是1,后面都是0 
ll int dp[N],sum[N];
ll int a[N],maxn;
int main()
{
	cin>>n;
//	for(int i=0;i<=n;i++)
//	   cout<<dp[i]<<" ";
	for(int i=1;i<=n;i++)
	{
	    cin>>a[i];
	    dp[i]=1;
	}
	for(int i=1;i<=n;i++)
	{	
    	for(int j=1;j<i;j++)//对每个数遍历 
		{
            if(a[j] < a[i])			
               if(dp[i]<dp[j]+1)
               {
               	    dp[i]=dp[j]+1;
               	    sum[i]=sum[j];
			   }
		} 
        sum[i]+=a[i];
	}
	return 0;
}
2022/4/5 20:59
加载中...