题目:
A. Cheap Travel
🔗link
思路:n个站点,普通票,只能坐一站a元,特殊票可以坐m站b元,问怎么花最少
四种情况:
1)全买普通票
2)全买特殊票
3)组合着买
核心代码:min(ans1,min(ans2,ans3));
解:
#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
#include<map>
using namespace std;
#define ll long long
const ll int maxn=10000000000;
int main() {
int n,m,a,b,ans1=1000*1000,ans2=1000*1000,ans3=1000*1000,ans4=1000*1000,ans=1000*1000;
cin>>n>>m>>a>>b;
ans1=n*a;
if (n%m==0) {
ans2=n/m*b;
}
else{
ans3=(n/m+1)*b;
}
int temp1=n%m;
ans4=n/m*b+temp1*a;
ans=min(min(ans1,ans4), min(ans2,ans3));
cout<<ans<<endl;
return 0;
}