제출 #98007

#제출 시각아이디문제언어결과실행 시간메모리
98007brcodeStrongbox (POI11_sej)C++14
70 / 100
1073 ms3064 KiB
#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
long long ans;
long long total;
const long long MAXN = 250005;
long long arr[MAXN];
bool common(long long x){
    for(long long i=1;i<=total;i++){
        if(arr[i]%x == 0){
            return false;
        }
       
    }
     return true;
}
int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    long long n,k;
    cin>>n>>k;
    for(long long i=1;i<=k;i++){
        cin>>arr[i];
    }
    for(long long i=1;i<=k;i++){
        arr[i] = __gcd(n,arr[i]);
    }
    sort(arr+1,arr+k);
    for(long long i=1;i<k;i++){
        if(arr[i]!=arr[i-1]){
            total++;
            arr[total] = arr[i];
        }
    }
  
    for(long long i=1;i<=sqrt(arr[k]);i++){
        if(arr[k]%i == 0){
            
            if(common(i)){
                ans = n/i;
                break;
            }
            if(common(arr[k]/i)){
                ans = (n/arr[k]*i);
            }
        }
    }
    cout<<ans<<endl;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...