90分求调
查看原帖
90分求调
1246661
feng_chenShy楼主2024/5/2 08:56
#include<bits/stdc++.h>
using namespace std;
long long n,a,k,b,ans,ans1,ans2,ans3;
int main(){
	cin>>n>>a>>k>>b;
	if(n%k!=0)	ans=1;
	if(n%2!=0){
		cout<<"-1"<<endl;
		return 0;
	}else{
        n/=2;
		if(a*n==b*(int(n/k)+ans)){
			cout<<a*n*2<<endl;
		}
		else{
			if(n%k!=0){
				ans1=n%k*a+int(n/k)*b; 
			}else{
				ans1=int(n/k)*b;
			}
			if(a*n>b*(int(n/k)+ans))	ans2=b*(int(n/k)+ans);
			else	ans2=a*n;
		}
	}
	cout<<min(ans1*2,ans2*2)<<endl;
	return 0;
}

代码可能有点奇葩。

2024/5/2 08:56
加载中...