# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
165607 | 2019-11-27T16:30:07 Z | Peacher29 | 악어의 지하 도시 (IOI11_crocodile) | C++14 | 2 ms | 376 KB |
#include "crocodile.h" #include<bits/stdc++.h> using namespace std; class pont{ public: vector<int> hova; vector<int> mennyiert; long long elso=INT_MAX; long long masodik=INT_MAX; }; vector<pont> p; priority_queue<pair<int,int>> pq; int travel_plan(int N, int M, int R[][2], int L[], int K, int P[]){ p.resize(N); for(int i=0;i<M;i++){ p[R[i][0]].hova.push_back(R[i][1]); p[R[i][1]].hova.push_back(R[i][0]); p[R[i][0]].mennyiert.push_back(L[i]); p[R[i][1]].mennyiert.push_back(L[i]); } for(int i=0;i<K;i++){ p[P[i]].elso=0; p[P[i]].masodik=0; pq.push({0,P[i]}); } while(!pq.empty()){ int ind = pq.top().second; for(int i = 0; i < p[ind].hova.size() ; i ++){ int hov = p[ind].hova[i]; if(p[hov].elso > max(p[hov].masodik, p[ind].mennyiert[i] + p[ind].elso)){ p[hov].elso = max(p[hov].masodik, p[ind].mennyiert[i] + p[ind].elso); pq.push({-p[hov].elso,hov}); } if(p[hov].masodik > p[ind].mennyiert[i] + p[ind].elso){ p[hov].masodik = p[ind].mennyiert[i] + p[ind].elso; } } pq.pop(); } return p[0].elso; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 376 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 376 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 376 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |