2 条题解

  • 0
    @ 2025-7-14 19:57:09

    其实这题只需要排序加去重 排序用sort 去重用unique 提示:unique返回的值是指针也就是地址 C++代码如下:

    #include<bits/stdc++.h>
    using namespace std;
    int n,a[200005];
    int main() {
    	cin >> n;
    	for(int i = 1; i <= n; i++) cin >> a[i];
    	sort(a + 1, a + n + 1);
    	n = unique(a + 1, a + n + 1) - a - 1;
    	if(n <= 1) cout << -1;
    	else cout << max(a[n-2], a[n] % a[n-1]);
    	return 0;
    }
    
    • 0
      @ 2025-5-10 11:45:46
      #include<bits/stdc++.h>
      using namespace std;
      long long n;
      long long a[200100];
      long long ans;
      bool cmp(long long a,long long b){
          return a>b;
      }
      int main(){
          cin>>n;
          for(long long i=1;i<=n;i++){
              cin>>a[i];
          }
          sort(a+1,a+n+1,cmp);
          unique(a+1,a+n+1);
          ans=max(a[3],a[1]%a[2]);
          if(ans<=1){
              puts("-1");
          }
          else{
              cout<<ans;
          }
          return 0;
      }
      
      
      • 1

      信息

      ID
      9704
      时间
      1000ms
      内存
      125MiB
      难度
      5
      标签
      递交数
      50
      已通过
      15
      上传者