제출 #1197162

#제출 시각아이디문제언어결과실행 시간메모리
1197162b00legenMagic Show (APIO24_show)C++17
100 / 100
9 ms528 KiB
#include <bits/stdc++.h> #include "Alice.h" using namespace std; using ll = long long; vector<pair<int, int> >Alice() { ll x = setN(5000); vector<pair<int, int> >res; for (int i = 1; i < 5000; i++) { if (x % i) res.push_back({x % i, i}); else res.push_back({i, 5000}); } return res; }
#include <bits/stdc++.h> using namespace std; using ll = long long; ll gcd(ll a, ll b) { while (a > 0 && b > 0) { if (a > b) a %= b; else b %= a; } return a + b; } ll Bob(vector<pair<int, int> >v) { set<pair<int, int> >st; for (size_t i = 0; i < v.size(); i++) { ll nm = v[i].second % 5000, md = v[i].first; if (nm) swap(nm, md); for (int j = 2; j <= md; j++) { if (md % j == 0) { st.insert({nm % j, j}); while (md % j == 0) md /= j; } } } set<pair<int, int> >::iterator it = st.begin(); ll res = (*it).first, m = (*it).second; it++; for (; it != st.end(); it++) { ll nm = (*it).first, md = (*it).second; for (int j = 0; j < 5000; j++) { if (res % md == nm) break; res += m; } if (1e18 / md < m) break; m *= md; } return res; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...