Submission #448219

#TimeUsernameProblemLanguageResultExecution timeMemory
448219ApiramEuklid (COCI20_euklid)C++14
20 / 110
1090 ms204 KiB
#include<bits/stdc++.h> using namespace std; int64_t solve(int a,int b){ if (a==1){ return b; } if (b==1)return a; if (a<b)solve(b/a,a); else return solve(a/b, b); } int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); int test;cin>>test; while(test--){ int64_t g,h; cin>>g>>h; vector<pair<int,int>>ans; if (g==1){ cout<<1<<" "<<h<<endl; continue; } else if (g==h){ cout<<g<<" "<<h<<endl; continue; } else if (h==2){ cout<<g*2<<" "<<g<<endl; continue; } else if (g==h*h){ cout<<g*h<<" "<<g<<endl; continue; } else{ int64_t temp = h; while(temp<=g)temp*=h; for (int i =(temp+g-1)/g;;i++){ if (solve(i*g,g*(i*h + 1))==h){ ans.push_back({i*g,i*h + 1}); break; } } cout<<ans[0].first*g<<" "<<ans[0].second*g<<endl; } } return 0;}

Compilation message (stderr)

euklid.cpp: In function 'int64_t solve(int, int)':
euklid.cpp:8:15: warning: control reaches end of non-void function [-Wreturn-type]
    8 |  if (a<b)solve(b/a,a);
      |          ~~~~~^~~~~~~
#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...