比赛 寒假集训2 评测结果 AAAAAAEEEEEEAAAAAAAA
题目名称 回家路线 最终得分 70
用户昵称 PXCZM 运行时间 0.879 s
代码语言 C++ 内存使用 3.72 MiB
提交时间 2026-02-25 11:20:26
显示代码纯文本
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll n,m,a,b,c;
struct node
{
    int y,p,q;
};
vector<node>z[2020];
struct jgt
{
    ll ans;
    int x,t;
};
queue<jgt>q;
ll minn=1e18;
int main()
{
    freopen("rout.in","r",stdin);
    freopen("rout.out","w",stdout);
    ios::sync_with_stdio(false);
    cin.tie(nullptr);cout.tie(nullptr);
    cin>>n>>m>>a>>b>>c;
    for(int i=1;i<=m;i++)
    {
        int x;
        node tmp;
        cin>>x>>tmp.y>>tmp.p>>tmp.q;
        z[x].push_back(tmp);
    }
    jgt tmp;
    tmp.ans=tmp.t=0,tmp.x=1;
    q.push(tmp);
    while(q.size())
    {
        jgt tmp=q.front();
        q.pop();
        int x=tmp.x,t=tmp.t;
        ll ans=tmp.ans;
        if(x==n)
        {
            minn=min(minn,ans+t);
            continue;
        }
        int len=z[x].size();
        for(int i=0;i<len;i++)
        {
            node rd=z[x][i];
            if(t>rd.p) continue;
            int d=rd.p-t;
            ll ans1=ans+a*d*d+b*d+c;
            jgt to;
            to.x=rd.y,to.t=rd.q,to.ans=ans1;
            q.push(to);
        }
    }
    cout<<minn;
    return 0;
}