Cod sursa(job #2443316)

Utilizator MihclerioVladimir Chim Mihclerio Data 27 iulie 2019 13:31:36
Problema Algoritmul lui Euclid extins Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.9 kb
#include<bits/stdc++.h>

#pragma gcc optimize("O3")

#define all(s) s.begin(),s.end()
#define rc(x) return cout<<x<<endl,0
#define forn(i,n) for(int i=0;i<int(n);i++)
#define len(a) (int) (a).size()

#define pb push_back
#define mp make_pair
#define fr first
#define sc second

typedef long long ll;
typedef long double ld;

const int nmax=1025;
const int mod=998244353;
const ll inf=0x3f3f3f3f3f3f3f3f;

using namespace std;

int gcdex(int a,int b,int &x,int &y) {
  if(!b) {
    x=1;
    y=0;
    return a;
  }
  else {
    int d,x1,y1;
    d=gcdex(b,a%b,x1,y1);
    x=y1;
    y=x1-(a/b)*y1;
    return d;
  }
}

int a,b,c,d,x,y;
int main()
{
  freopen("euclid3.in","r",stdin);
  freopen("euclid3.out","w",stdout);
  ios_base::sync_with_stdio(0); cin.tie(0);
  cin>>a>>b>>c;
  d=gcdex(a,b,x,y);
  if(c%d) cout<<"0 0 \n"; else
   cout<<x*(c/d)<<" "<<y*(c/d)<<"\n";
}