我试图从指定的数组中获取最大总和%n,我的代码工作正常,但是输出更大的值需要2秒以上。 我想优化我的代码:
我的代码:
void get_max(long int n,long int m,long int *a)
{
int i,j;
long int cu=0;
long int max=-1000000ll;
for(i=0;i<n;i++)
{
cu=0;
for(j=i;j<n;j++)
{
cu+=a[j];
cu=cu%m;
if(max<cu)
max=cu;
}
}
cout<<max<<"\n";
}
int main() {
int t,i;
long int m,n,e;
long int a[100000];
cin>>t;
while(t--)
{
cin>>n;
cin>>m;
for(i=0;i<n;i++)
{
cin>>e;
a[i]=e;
}
get_max(n,m,a);
}
}