Submission #1172965

#TimeUsernameProblemLanguageResultExecution timeMemory
1172965CiprianAirplane (NOI23_airplane)C++20
0 / 100
40 ms15940 KiB

#include <bits/stdc++.h>
using namespace std;
#define int long long
int32_t main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    int n,m;
    cin>>n>>m;
    vector<int>h(n+2);
    for(int i=1; i<=n; i++)cin>>h[i];
    vector<pair<int,int>>adj[n+2];
    for(int i=0; i<m; i++){
        int x,y;
        cin>>x>>y;
        int w=abs(h[x]-h[y]);
        adj[x].push_back({-w, y});
        adj[y].push_back({-w,x});
    }/*priority_queue<pair<int, int>>q;
    vector<int>dist(n+2, -1e9);
    dist[1]=0;
    q.push({0, 1});
    vector<bool> check(n+2, false);
    
    while(!q.empty()){
        auto p=q.top();
        q.pop();
        if(check[p.second])continue;
        check[p.second]=true;
        for(auto e: adj[p.second]){
            if(dist[p.second]+e.first>dist[e.second]){
                dist[e.second]=dist[p.second]+e.first;
                q.push({dist[e.second], e.second});
            }
        }
    }cout<<-dist[n]<<endl;
    */
    if(m==n-1){
        int mx=0;
        for(int i=0; i<=n; i++){
            mx=max(mx, h[i]);
        }cout<<2*mx<<endl;
    }
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...