解决超时问题 关注2个送上
#include<iostream>
#include<algorithm>
using namespace std;
struct mc
{
int x;
int y;
long long ji;
} a[100005];
bool cmp(mc x,mc y)
{
return x.ji>y.ji;
}
long long m,b,x,y,l,ans;
int main()
{
cin>>m>>b;
x=b*m;
y=b;
int c=max(x,y),k=min(x,y);
x=k;
y=c;
long long maxn=0;
int cnt=0;
for (int i=0,k=x; i<=x,k>=0; i++,k--)
{
int y1=i*m;
cnt++;
a[cnt].ji=y1*k;
a[cnt].x=k;
a[cnt].y=y1;
}
sort(a+1,a+cnt+1,cmp);
for(int i=1; i<=min(10,cnt); i++)
{
long long ans=0;
for (int j=0; j<=a[i].x; j++)
{
for (int k=0; k<=a[i].y; k++)
{
ans+=k+j;
}
}
maxn=max(maxn,ans);
}
cout<<maxn<<endl;
return 0;
}