为什么别人都能A,我却卡在29?
查看原帖
为什么别人都能A,我却卡在29?
925975
wangqing111楼主2024/3/19 20:40

link

代码

#include<cstdio>
long long x,maxx,dp[100010];int i,j,n;
long long read()
{
	long long x=0;
	int neg=1;
	char c=getchar();
	while(c<'0'||c>'9')
		if(c=='-') neg=-1,c=getchar();
	while(c>='0'&&c<='9')
		x=10*x+c-'0',c=getchar();
	x*=neg;
	return x;
}
int main()
{
	scanf("%d",&n);getchar();
	for (i=1; i<=n; i++)
	{
		x=read();dp[i]=-1e18;
		for (j=i; j>0; j--)
			if(dp[j]<dp[j-1]+x*j)
				dp[j]=dp[j-1]+j*x;
	}
	for (i=1; i<=n; i++)
		if(dp[i]>maxx)
			maxx=dp[i];
	printf("%lld",maxx);
	return 0;
}
2024/3/19 20:40
加载中...