A题中说XX张可以享受试印价,此时应当既可享用试印价,也可享用原价,但实际交上去后WA了,如有问题请修复

7 条评论

  • @ 2026-8-31 20:23:20

    OK 谢谢

  • @ 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

    @

    你想的太多了,他说 xx 张可以享受试印价,意思是前 xx 张,每张 aa 元,不是两面关系,也就是

    int sum=x*a;
    

    那后面是每张 bb 元,即:

    int ans=(n-x)*b;//n-x就是从x+1~n
    

    code

    #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 19:50:39

            居然和我的一样!!!

            #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;
            	}
            } 
            
          • @ 2026-8-31 19:51:11

            @ +1

        • @ 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