Submission #949191

#TimeUsernameProblemLanguageResultExecution timeMemory
949191vjudge1Sirni (COCI17_sirni)C++17
0 / 140
5019 ms604 KiB
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace std; using namespace __gnu_pbds; #define int long long #define ff first #define ss second #define rep(i,s,f) for(int i = s;i < f;i++) #define all(x) x.begin(),x.end() #define rall(x) x.rbegin(),x.rend() #define pb push_back #define ordered_set tree<int, null_type,less<int>, rb_tree_tag,tree_order_statistics_node_update> #define ordered_multiset tree<int, null_type,less_equal<int>, rb_tree_tag,tree_order_statistics_node_update> const int INF = 1e18,N = 1e3 + 1; const int p = 31,m = 1e9 + 9,MOD7 = 1e9 + 7; int binpow(int n,int k){ if(k == 0){ return 1 ; } else if(k % 2 == 0){ int b = binpow(n,k / 2); return b * b ; } else{ return n * binpow(n,k - 1) ; } } int a[N]; int n; int find(int start){ int ans = 0; vector<int> vis(n); vis[start] = 1; while(true){ int cnt = 0; int res = INF; int now = -1; for(int i = 0;i < n;i++){ if(!vis[i]){ if(res > min(a[start] % a[i],a[i] % a[start])){ res = min(a[start] % a[i],a[i] % a[start]); now = i; } } cnt += vis[i]; } if(cnt == n){ break; } vis[now] = 1; ans += res; start = now; } return ans; } void solve(){ cin >> n; for(int i = 0;i < n;i++){ cin >> a[i]; } int ans = INF; for(int i = 0;i < n;i++){ ans = min(ans,find(i)); } cout << ans; } signed main(){ ios_base::sync_with_stdio(0); cin.tie(0),cout.tie(0); int t = 1; //~ cin >> t; while(t--){ solve(); } }
#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...