This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#include "Alice.h"
using namespace std;
vector<pair<int,int>> Alice(){
int n=5000;
long long x=setN(n);
vector<pair<int,int>> res;
for(int i=1;i<n;i++)res.emplace_back(x%i+1,i+1);
return res;
}
#include <bits/stdc++.h>
#include "Bob.h"
using namespace std;
using i128 = __int128_t;
i128 extgcd(i128 a, i128 b, i128 &x, i128 &y){
if(!b)return x=1,y=0,a;
i128 d=extgcd(b,a%b,y,x);
return y-=a/b*x,d;
}
long long Bob(vector<pair<int,int>> e){
const i128 LIM=1e18;
i128 a=0,m=0;
for(auto [u,v]:e){
if(m>LIM)break;
u--,v--;
if(u>v)swap(u,v);
if(m==0){
a=u,m=v;
continue;
}
i128 g,x,y;
g=extgcd(m,v,x,y);
a=a+x*(u-a)/g*m;
m=m/g*v;
a%=m;
if(a<0)a+=m;
}
return a;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |