| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1364284 | SmuggingSpun | Gingerbread (BOI25_gcd) | C++20 | 52 ms | 4284 KiB |
#include<bits/stdc++.h>
#define taskname "C"
using namespace std;
const int lim = 1e6 + 5;
int n, g = 0, a[lim];
bool backtrack(int p, int cnt){
if(p == n){
for(int i = g = 0; i < n; i++){
g = __gcd(g, a[i]);
}
return g == 1;
}
for(int i = 0; i <= cnt; i++){
a[p] += i;
if(backtrack(p + 1, cnt - i)){
return true;
}
a[p] -= i;
}
return false;
}
int main(){
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
if(fopen(taskname".inp", "r")){
freopen(taskname".inp", "r", stdin);
}
cin >> n;
for(int i = 0; i < n; g = __gcd(g, a[i++])){
cin >> a[i];
}
if(g == 1){
return cout << 0, 0;
}
if(n > 15){
return cout << 1, 0;
}
for(int i = 1; true; i++){
if(backtrack(0, i)){
return cout << i, 0;
}
}
}
Compilation message (stderr)
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
