社区讨论

样例过不了题解看不懂25pts求条

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

讨论操作

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

当前回复
0 条
当前快照
1 份
快照标识符
@mhj0i3z1
此快照首次捕获于
2025/11/03 18:43
4 个月前
此快照最后确认于
2025/11/03 18:43
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
#define ll long long
#define ld long double
using namespace std;

struct node{
    ld d,p;
};
ll n;
ld s,c,l,p;
node a[10];
ld solve[10];
ld price,minx;

void print(){
    ll t=price*1000;
    if(t%10>=5){
        price/=10;
        price++;
    }
    cout<<price;
}

int main(){
    //freopen("code.in","r",stdin);
    //freopen("code.out","w",stdout);
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);

    cin>>s>>c>>l>>p>>n;
    for(ll i=1;i<=n;i++){
        cin>>a[i].d>>a[i].p;
    }
    minx=a[1].p;
    for(ll i=1;i<=n;i++){
        if((a[i].d-a[i-1].d)/l>c){
            cout<<"No Solution";
            return 0;
        }
        minx=min(minx,a[i].p);
        solve[i]=minx;
    }
    for(ll i=1;i<n;i++){
        price+=solve[i]*(a[i+1].d-a[i].d);
    }
    price+=solve[n]*(s-a[n].d);
    print();

    return 0;
}

回复

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

正在加载回复...