按照题目意义,直接任取2个数a[i]、a[j],求出gcd并更新最大值ans。 测试样例可以通过,提交之后却只过了0%样例,还显示用时3ms,内存452KB??
#include "bits/stdc++.h" using namespace std; typedef uint_fast64_t u64; typedef int_fast64_t i64; int main() { int n; u64 ans=0; cin>>n; u64 *a = new u64[n]; for(int i=0;i<n;i++) scanf("%llu",&a[i]); for(int i=0;i<n;i++) for (int j=i;j<n;j++) ans = max(ans,gcd(a[i],a[j])); cout << ans << endl; return 0; }
请问有大神帮忙看看这是怎么回事吗
全部评论
(1) 回帖