1 条题解

  • 0
    @ 2025-6-15 20:31:21
    #include<stdio.h>
    #include <iostream>
    #include <cmath>
    using namespace std;
     
    int main()
    {
    	double m,p,a,b;
    	while(scanf("%lf%lf%lf%lf",&m,&p,&a,&b)==4){
    		double min_x=-1/sqrt(a);
    		double max_x=sqrt(a);
    		double sum=b*sqrt(a);
    		double tmp=m*sqrt(a);
    		double left=tmp-sum;
    		int num=(int)(left/(-min_x+max_x));
    		int min_num=num;
    		int max_num=m-num-1;
    		double mid_x=sum-min_num*min_x-max_num*max_x;
    		printf("%d\n",int(min_num*pow(min_x,p)+max_num*pow(max_x,p)+pow(mid_x,p)+0.5));
    	}
    	return 0;	
    } 
    
    • 1

    信息

    ID
    2067
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    递交数
    2
    已通过
    1
    上传者