#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |