#include<bits/stdc++.h> #define poly vector<int> #define IOS ios::sync_with_stdio(false) #define ll long long #define mp make_pair #define mt make_tuple #define pa pair < int,int > #define fi first #define se second #define inf 1e18 #define mod 998244353 #define sz(x) (int)((x).size()) #define int ll //#define N using namespace std; int h,w,n,a[35]; void BellaKira() { cin>>h>>w; cin>>n; for (int i=1;i<=n;i++) cin>>a[i]; int lst=0,ans=0; for (int i=n;i>=1;i--) { int x=h/a[i],y=w/a[i]; ans+=x*y-lst*(a[i+1]/a[i])*(a[i+1]/a[i]); // cout<<i<<" "<<x*y-lst*(a[i+1]/a[i])*(a[i+1]/a[i])<<endl; lst=x*y; } if (h%a[1]||w%a[1]) cout<<"-1\n"; else cout<<ans<<'\n'; } signed main() { IOS; cin.tie(0); int T=1; while (T--) { BellaKira(); } }
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 34 35 36 37 38 39 40 41 42 43 44 45 | #include<bits/stdc++.h> #define poly vector<int> #define IOS ios::sync_with_stdio(false) #define ll long long #define mp make_pair #define mt make_tuple #define pa pair < int,int > #define fi first #define se second #define inf 1e18 #define mod 998244353 #define sz(x) (int)((x).size()) #define int ll //#define N using namespace std; int h,w,n,a[35]; void BellaKira() { cin>>h>>w; cin>>n; for (int i=1;i<=n;i++) cin>>a[i]; int lst=0,ans=0; for (int i=n;i>=1;i--) { int x=h/a[i],y=w/a[i]; ans+=x*y-lst*(a[i+1]/a[i])*(a[i+1]/a[i]); // cout<<i<<" "<<x*y-lst*(a[i+1]/a[i])*(a[i+1]/a[i])<<endl; lst=x*y; } if (h%a[1]||w%a[1]) cout<<"-1\n"; else cout<<ans<<'\n'; } signed main() { IOS; cin.tie(0); int T=1; while (T--) { BellaKira(); } } |