2 条题解
-
0
其实这题只需要排序加去重 排序用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
#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
- 上传者