Submission #1011004

#TimeUsernameProblemLanguageResultExecution timeMemory
1011004ttamxMagic Show (APIO24_show)C++17
35 / 100
2 ms1072 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...