#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; } |
English