답안 #522621

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
522621 2022-02-05T09:34:09 Z Andy__Andy__ 관광 (NOI14_sightseeing) C++17
15 / 25
3500 ms 232924 KB
#include <bits/stdc++.h>
#define ll long long
#define int ll
using namespace std;

ifstream f ("test.in");
ofstream g ("test.out");
int teste=1;
int n,m,q;
int dp[500005];
vector < array < int ,2 > > G[500005];

set < array < int ,2 > > s;

void calc()
{
    s.insert({-(100000000),1});

    while(s.size())
    {
        auto marcel = *(s.begin());
        int mnDrum= -marcel[0];
        int nod  = marcel[1];

        s.erase(s.begin());

        for(auto x:G[nod])
        {
            int vecin = x[1];
            int costDrum = x[0];

            if(min(costDrum,mnDrum) > dp[vecin])
            {
                s.erase({-dp[vecin],vecin});
                dp[vecin] = min(costDrum,mnDrum);
                s.insert({-dp[vecin],vecin});
            }
        }
    }
}


void solve()
{
    cin>>n>>m>>q;

    for(int i=1;i<=n;++i) dp[i] = 0;

    for(int i=1;i<=m;++i)
    {
        int a,b,c;
        cin>>a>>b>>c;
        G[a].push_back({c,b});
        G[b].push_back({c,a});
    }

    calc();

    for(;q--;)
    {
        int x;
        cin>>x;
        cout<<dp[x]<< '\n';
    }



}


main()
{
    while(teste--)
    {
        solve();
    }

    return 0;
}

Compilation message

sightseeing.cpp:71:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   71 | main()
      | ^~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 7 ms 11980 KB Output is correct
2 Correct 7 ms 12012 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 10 ms 12236 KB Output is correct
2 Correct 9 ms 12108 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 79 ms 16528 KB Output is correct
2 Correct 61 ms 15556 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 3574 ms 232924 KB Time limit exceeded
2 Halted 0 ms 0 KB -