我的思路:
枚举 m 及以内的数(代表一半分的题数),如果枚举到了立刻输出。
但是无缘无故错了 3 个点。
求大佬指教。
#include <bits/stdc++.h>
using namespace std;
#define ll double
ll n,s,rgt,ans,banfen,yifen,m,i;
int main(){
cin>>n>>s>>m;
cout<<"p"<<n-m<<"(+";
rgt=n-m;
ans=rgt*10000000/n*1.00;
ans=s-ans;
for(i=1;i<=m;i++){
banfen=10000000/n*0.5*i;
yifen=ceil(ans-banfen);
if(yifen<=rgt&&yifen+banfen>ans){
cout<<yifen<<") f"<<i<<" l"<<m-i<<endl;
exit(0);
}
}
return 0;
}