求助
  • 板块灌水区
  • 楼主RAY091016
  • 当前回复1
  • 已保存回复2
  • 发布时间2024/11/9 14:28
  • 上次更新2024/11/9 16:40:05
查看原帖
求助
772875
RAY091016楼主2024/11/9 14:28

给出数组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掉结果发现如果数组里面都是小于一半的部分不会写

2024/11/9 14:28
加载中...