二WA杀二士,悬赏二关注。惨景春崖岭,苦心无经营。
#include <bits/stdc++.h>
#define int __int128
using namespace std;
typedef long long ll;
int n,a,b,c,d;
int ans = 2e18;
void exgcd(int a,int b,int &x,int &y)
{
if (b == 0)
{
x = 1,y = 0;
return ;
}
exgcd(b,a%b,x,y);
int z = x;x = y;y = z - a/b * y;
}
int read(){
ll x;scanf("%lld",&x);
return x;
}
void print(__int128 x){
printf("%lld",(ll)x);
}
signed main()
{
n = read(),a = read(),b = read(),c = read(),d = read();
int maxn = max(a,c);
if (a * d < b * c)
swap(a,c),swap(b,d);
//a,b 的性价比 比 c,d 大
for (int i=0;i<=maxn;i++)
{
// ax + cy = N + i;
if ((n + i) % __gcd(a,c))
continue;
int x,y;
exgcd(a,c,x,y);
y = (y + (a / __gcd(a,c))) % (a / __gcd(a,c));
y = y * (n + i)/ (__gcd(a,c));
y = (y + (a / __gcd(a,c))) % (a / __gcd(a,c));
x = (n + i - y * c)/a;
ans = min(ans,x * b + y * d);
}
print(ans);
return 0;
}
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n;
ll a,b,c,d;
int main(){
scanf("%lld%lld%lld%lld%lld",&n,&a,&b,&c,&d);
if(a<c) swap(a,c),swap(b,d);
if(b*c<a*d){
if(n%a==0) printf("%lld",n/a*b);
else{
ll e=n/a+1,f=a-n%a,g=0;
for(ll i=1;a>i*c&&b>i*d;i++){
g+=f/(a-i*c)*i;
e-=f/(a-i*c);
f%=(a-i*c);
}
printf("%lld",e*b+g*d);
}
}else{
if(n%c==0) printf("%lld",n/c*d);
else{
ll e=n/c+1,f=c-n%c,g=0;
for(ll i=f;a<i*c&&b<i*d;i--){
g+=f/(i*c-a);
e-=f/(i*c-a)*i;
f%=(i*c-a);
}
printf("%lld",e*d+g*b);
}
}
return 0;
}
所有将两份代码调出的人,都是世界上颜值最高、情商最高、智商最高的十全少年!