#include <bits/stdc++.h> using namespace std; #define ll long long ll x, y, N, ans; vector<ll> v(31); int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cin >> x >> y >> N; for (int i=0; i<N; i++) cin >> v[i]; if (x%v[0]!=0 || y%v[0]!=0){ cout << "-1"; return 0; } for (int i=0; i<N-1; i++){ ll z=x%v[i+1]; x-=z; z/=v[i]; ans+=(z*(y/v[i])); z=y%v[i+1]; y-=z; z/=v[i]; ans+=(z*(x/v[i])); } ans+=((x/v[N-1])*(y/v[N-1])); cout << ans; return 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | #include <bits/stdc++.h> using namespace std; #define ll long long ll x, y, N, ans; vector<ll> v(31); int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cin >> x >> y >> N; for (int i=0; i<N; i++) cin >> v[i]; if (x%v[0]!=0 || y%v[0]!=0){ cout << "-1"; return 0; } for (int i=0; i<N-1; i++){ ll z=x%v[i+1]; x-=z; z/=v[i]; ans+=(z*(y/v[i])); z=y%v[i+1]; y-=z; z/=v[i]; ans+=(z*(x/v[i])); } ans+=((x/v[N-1])*(y/v[N-1])); cout << ans; return 0; } |