Submission #854490

#TimeUsernameProblemLanguageResultExecution timeMemory
854490vjudge1Euklid (COCI20_euklid)C++17
110 / 110
402 ms460 KiB
#ifndef Local
    #pragma GCC optimize("O3,unroll-loops")
    #pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
#endif
#include <bits/stdc++.h>
#define int long long
#define pb push_back
#define lim 100000
using namespace std;
const int mod=1000000007ll;

int res(int i,int j){
    if(i<j)return res(j,i);
    if(j==1)return i;
    //cerr<<i<<" "<<j<<"\n";
    return res(i/j,j);
}

void solve(){
    int g,h;
    cin>>g>>h;
    for(int j=1;1;j++){
        int a=(j*h+1);
        if(__gcd(a,j)==1&&res(a*g,j*g)==h){
            cout<<a*g<<" "<<j*g<<"\n";
            return;
        }
    }
    /*
    if(h<=g){
        cout<<(h+1)*g*g<<" "<<h*g<<"\n";
        cout<<__gcd((h+1)*g*g,h*g)<<" "<<res((h+1)*g*g,h*g)<<"\n";
    }
    for(int i=1;1;i+=h){
        for(int j=1;j<i;j++){
            if(__gcd(i,j)==1&&res(i*g,j*g)==h){
                cerr<<i<<" "<<j<<"\n";
                cout<<i*g<<" "<<j*g<<"\n";
                return;
            }
        }
    }
    if(g==h){
        cout<<g<<" "<<g<<"\n";
    }else if(h==2){
        cout<<g*2<<" "<<g<<"\n";
    }else if(g==h*h){
        cout<<h*h*h<<" "<<h*h<<"\n";
    }else{
        /*
        for(int a=1;1;a+=h){
            if(__gcd((a*h+1)*g,a*g)==1){
                cerr<<i<<" "<<j<<"\n";
                cout<<i*g*g<<" "<<j*g<<"\n";
                return;
            }
        }
        
        for(int i=1;1;i+=h){
            for(int j=h;j<=i;j+=h){
                if(__gcd(i*g,j)==1&&res(i*g*g,j*g)==h){
                    cerr<<i<<" "<<j<<"\n";
                    cout<<i*g*g<<" "<<j*g<<"\n";
                    return;
                }if(i*g*g<100)cerr<<i*g*g<<" "<<j*g<<" "<<j<<"\n";
            }
            cerr<<i<<"\n";
        }
    }
    */
}

signed main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);cout.tie(NULL);
#ifdef Local  
    freopen("in","r",stdin);
    freopen("out","w",stdout);
#endif
    int t=1;
    cin>>t;
    while (t--)
    {
        solve();
    }
}

Compilation message (stderr)

euklid.cpp:50:9: warning: "/*" within comment [-Wcomment]
   50 |         /*
      |
#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...