Submission #889456

#TimeUsernameProblemLanguageResultExecution timeMemory
889456codefoxSirni (COCI17_sirni)C++14
0 / 140
2751 ms82540 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define pii pair<int, int> int main() { int n; cin >> n; vector<int> nums(n); set<int> mult; set<int> num; map<int, bool> v; map<int, int> mini; for(int i = 0; i < n; i++) { cin >> nums[i]; if (v[nums[i]]) continue; num.insert(nums[i]); mini[nums[i]]=1e9; v[nums[i]]=true; } sort(nums.begin(), nums.end()); ll sol = 0; mini[nums[0]] = 0; for (int ele:nums) { int mn = mini[ele]; num.erase(ele); if (num.empty()) { cout << sol+mn << endl; break; } for (int j = ele; j <= *(--num.end()); j+=ele) { auto u = num.lower_bound(j); if (u != num.end()) { int iu = *u; mini[iu]=min(mini[iu], iu-j); mn = min(mn, iu-j); } mult.insert(j); } sol += mn; } 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...
#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...