- 语法周赛 Round 43 💰
关于A题试印价
- @ 2026-8-31 17:44:49
A题中说前张可以享受试印价,此时应当既可享用试印价,也可享用原价,但实际交上去后WA了,如有问题请修复
7 条评论
-
lly336699 LV 5 (75/75) @ 2026-8-31 20:23:20OK 谢谢
-
@ 2026-8-31 20:22:44这我代码:
void work() { cin >> n >> x >> a >> b; if (a > b) a = b; int a1 = min(n, x); int a2 = n - a1; cout << a1 * a + a2 * b << endl; }就是问一下,怕大家把题意理解错了。 这是修正后能过得代码:
void work() { cin >> n >> x >> a >> b; //if (a > b) a = b; int a1 = min(n, x); int a2 = n - a1; cout << a1 * a + a2 * b << endl; } -
@ 2026-8-31 20:22:10你想的太多了,他说 前 张可以享受试印价,意思是前 张,每张 元,不是两面关系,也就是
int sum=x*a;那后面是每张 元,即:
int ans=(n-x)*b;//n-x就是从x+1~ncode
#include <bits/stdc++.h> using namespace std; #define int long long int n,x,a,b; signed main() { cin>>n>>x>>a>>b; if(n<=x){ cout<<n*a; } else{ cout<<x*a+(n-x)*b; } }或:
好看一点#include <bits/stdc++.h> using namespace std; #define int long long int n,x,a,b; signed main() { //现写的,应该AC cin>>n>>x>>a>>b; if(n<=x)return cout<<n*a,0; int sum=x*a; int ans=(n-x)*b; cout<<sum+ans; }注:我码风不好看,能看就行,开long long ! ! !
-
@ 2026-8-31 19:53:25没开long long???
-
@ 2026-8-31 19:52:18你要尽可能多赚些啊qwq。。。
不得不说这何尝不是一种贪心? -
@ 2026-8-31 19:34:08代码:
#include <bits/stdc++.h> using namespace std; #define int long long int n,x,a,b; int ans; signed main () { cin>>n>>x>>a>>b; if (n>x) ans=ans+x*a+(n-x)*b; if (n<=x) ans=n*a; cout<<ans<<'\n'; return 0; }超简单!!!
-
@ 2026-8-31 18:03:47#include<bits/stdc++.h> using namespace std; int main(){ long long n,x,a,b,c=0,d=0; cin>>n>>x>>a>>b; if(n<=x){ cout<<na; }else{ c=xa; d=(n-x)*b; cout<<c+d; } }
- 1