# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
198555 | alexandra_udristoiu | Crocodile's Underground City (IOI11_crocodile) | C++14 | 2045 ms | 56256 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "crocodile.h"
#include<iostream>
#include<vector>
#define DIM 100005
#define f first
#define s second
using namespace std;
static int viz[DIM];
static pair<int, int> d[DIM];
static vector< pair<int, int> > v[DIM];
int travel_plan(int n, int m, int r[][2], int L[], int k, int p[]){
int i, nod, ii, vecin;
for(i = 1; i <= n; i++){
d[i].f = d[i].s = 1000000000;
}
for(i = 0; i < k; i++){
p[i]++;
d[ p[i] ] = make_pair(0, 0);
}
for(i = 0; i < m; i++){
r[i][0]++; r[i][1]++;
v[ r[i][0] ].push_back( make_pair(r[i][1], L[i]) );
v[ r[i][1] ].push_back( make_pair(r[i][0], L[i]) );
}
d[0].s = 1000000001;
for(ii = 1; ii <= n; ii++){
nod = 0;
for(i = 1; i <= n; i++){
if(viz[i] == 0 && d[nod].s > d[i].s){
nod = i;
}
}
viz[nod] = 1;
for(i = 0; i < v[nod].size(); i++){
vecin = v[nod][i].f;
if(d[vecin].f > d[nod].s + v[nod][i].s){
d[vecin].s = d[vecin].f;
d[vecin].f = d[nod].s + v[nod][i].s;
}
else{
if(d[vecin].s > d[nod].s + v[nod][i].s){
d[vecin].s = d[nod].s + v[nod][i].s;
}
}
}
}
return d[1].s;
}
컴파일 시 표준 에러 (stderr) 메시지
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |