求调代码
查看原帖
求调代码
940582
KWK000king楼主2025/1/18 23:19

大神们帮调一下

这道题用了一个“反悔”思路但没对

#include<bits/stdc++.h>
using namespace std;
double d1,c,d2,p,n;
double sum=0,res=0,sl=0;
struct AA{
	double di,pi;
}a[10];
int main()
{
	cin>>d1>>c>>d2>>p>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i].di>>a[i].pi;
	}
	sum=a[1].di/d2*p;//总钱数 
	res=a[1].di/d2;//总油量 
	int o=0;
	a[0].pi=p;
	a[0].di=0;
	for(int i=1;i<=n;i++){
		res-=(a[i].di-a[o].di)/d2;
		if(a[i].pi<a[o].pi)
			o=i;
		sum+=(a[i+1].di-a[i].di)/d2*a[o].pi;
		res+=(a[i+1].di-a[i].di)/d2;
		sl+=a[i].di-a[i-1].di;
		if(sl>=d1){
			cout<<sum;
			return 0;
		}	
		if(res>c){
			cout<<"No Solution";
			return 0;
		}
		cout<<sum<<" "<<res<<" "<<sl<<endl;	
	}
	cout<<"No Solution";
	return 0;
}


2025/1/18 23:19
加载中...