제출 #1344103

#제출 시각아이디문제언어결과실행 시간메모리
1344103stoneGingerbread (BOI25_gcd)C++20
62 / 100
75 ms1588 KiB
#include<bits/stdc++.h>
using namespace std;
bool FLAG=0;
int n;
const int N=3e5+5;
int a[N];
void fun(int idx, int t){
    if(idx==n){
        int g=0;
        for(int i=0;i<n;i++){
            g=__gcd(a[i],g);
        }
        if(g==1)FLAG=1;
        return;
    }
    for(int i=0;i<=t;i++){
        a[idx]+=i;
        fun(idx+1,t-i);
        a[idx]-=i;
    }
}

int main(){
    cin >> n;
    for(int i = 0; i < n; i++) {
    	cin>>a[i];
    }
    int d = 0;
    for(int i = 0; i < n; i++) {
        d = __gcd(d,a[i]);
    }
    if(d == 1) {
        cout << 0;
        return 0;
    }
    if(n > 15) {
        cout << 1;
        return 0;
    }
    for(int i = 1; i < 1000; i++) {
    	fun(0,i);
        if(FLAG) {
            cout << i;
            return 0;
        }
    }
    return 0;
}
#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...