应该是正解结果被卡掉了求助
查看原帖
应该是正解结果被卡掉了求助
195331
Mine_KingCattleya楼主2021/1/24 20:58

Rt.
求大佬帮忙卡卡常/kel

#include<cstdio>
using namespace std;
inline int read()
{
	int x=0;int f=1;char c=getchar();
	while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();}
	while(c>='0'&&c<='9'){x=(x<<3)+(x<<1)+(c^48);c=getchar();}
	return x*f;
}
int n,k[10000005];
int id;
long long ans;
long long max(long long x,long long y){return x>y?x:y;}
int main()
{
	n=read();
	for(int i=1;i<=n;i++) k[i]=read();
	id=n;
	for(int i=n-1;i>=1;i--)
		if(k[i]>k[id]) ans=max(ans,1ll*k[id]*(i+id)),id=i;
		else ans=max(ans,1ll*k[i]*(i+id));
	for(int i=1;i<=n;i++) ans=max(ans,1ll*k[i]*i);
	printf("%lld\n",ans);
	return 0;
}
2021/1/24 20:58
加载中...