给出数组A,求Ai%Aj的最大值(Ai>Aj)
#include<bits/stdc++.h>
using namespace std;
int n,a[200200],ans=-1e9;
double m,dx[200200];
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
sort(a+1,a+1+n);
m=a[n]/2.0;
for(int i=1;i<n;i++){
dx[i]=a[i]-m;
}
for(int i=1;i<n;i++){
if(dx[i]>0){
cout<<a[n]%a[i];
return 0;
}
}
}
想用数学的方法A掉结果发现如果数组里面都是小于一半的部分不会写