社区讨论

真不知道最后一个点什么鬼!!亲手算都没算对

P1016[NOIP 1999 普及组/提高组] 旅行家的预算参与者 3已保存回复 9

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
9 条
当前快照
1 份
快照标识符
@mi7drmkc
此快照首次捕获于
2025/11/20 20:01
4 个月前
此快照最后确认于
2025/11/20 20:01
4 个月前
查看原帖
CPP
#include<iostream>
#include<cmath>
#include<cstdio>
using namespace std;

 float d1,c,d2,p,su=0,ans=0;
int n;
struct you{
	 float dp,p1;
}a[7];
int main(){
	cin>>d1>>c>>d2>>p>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i].dp>>a[i].p1;
	}
	if((a[1].dp>d1&&c*d2<d1)||c*d2<a[1].dp){
		cout<<"No"<<' '<<"Solution";
		return 0;
	}
	for(int i=1;i<=n;i++){
		if(p>a[i].p1){
			su+=((a[i].dp-ans)/d2)*p;
			p=a[i].p1;
			ans=a[i].dp;
		}
	}
	if(a[n].p1>=p){
		su+=((d1-ans)/d2)*p;
	}
	if(n==0){
		su=(d1/d2)*p;
		printf("%.2lf",su);
		return 0;
	}
	printf("%.21f",su);
	return 0;
}

回复

9 条回复,欢迎继续交流。

正在加载回复...