# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
963619 | 2024-04-15T11:52:19 Z | Amr | 악어의 지하 도시 (IOI11_crocodile) | C++17 | 563 ms | 94540 KB |
#include "crocodile.h" #include<bits/stdc++.h> using namespace std; typedef long long ll; #define F first #define S second #define sz size() const int N = 3e5+2; const ll inf = 1e18; ll vis[N]; pair<ll,ll> d[N]; vector<pair<ll,ll> > v[N]; int travel_plan(int N, int M, int R[][2], int L[], int K, int P[]) { for(int i = 0; i < M; i++) { ll x = R[i][0] , y = R[i][1]; ll z = L[i]; v[x].push_back({y,z}); v[y].push_back({x,z}); } for(int i = 0; i < N; i++) d[i].F = d[i].S = inf; multiset<pair<ll,ll> > s; for(int i = 0; i < K; i++) { ll x = P[i]; s.insert({0,x}); //s.insert({0,x}); //vis[x] = 1; d[x] = {0,0}; } while(s.sz) { ll cur = s.begin()->S; vis[cur] = 1; //cout << cur << " " << s.begin()->F << endl; ll dis1 = d[cur].F , dis2 = d[cur].S; s.erase(s.begin()); ll dis = dis2; //vis[cur]++; //if(vis[i]==1) continue; for(int i = 0; i < v[cur].sz; i++) { ll newn = v[cur][i].F , w = v[cur][i].S; if(vis[newn]) continue; //if(vis[newn]==2) continue; if(w+dis<d[newn].F) { if(d[newn].F!=inf) { if(d[newn].S!=inf) s.erase({d[newn].S,newn}); d[newn].S = d[newn].F; s.insert({d[newn].S,newn}); } d[newn].F=w+dis; continue; } if(w+dis<d[newn].S) { if(d[newn].S!=inf) s.erase({d[newn].S,newn}); d[newn].S = w+dis; s.insert({d[newn].S,newn}); } } } return d[0].S; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 14940 KB | Output is correct |
2 | Correct | 3 ms | 14940 KB | Output is correct |
3 | Correct | 3 ms | 14936 KB | Output is correct |
4 | Correct | 4 ms | 14940 KB | Output is correct |
5 | Correct | 3 ms | 14936 KB | Output is correct |
6 | Correct | 3 ms | 14936 KB | Output is correct |
7 | Correct | 4 ms | 14936 KB | Output is correct |
8 | Correct | 3 ms | 14940 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 14940 KB | Output is correct |
2 | Correct | 3 ms | 14940 KB | Output is correct |
3 | Correct | 3 ms | 14936 KB | Output is correct |
4 | Correct | 4 ms | 14940 KB | Output is correct |
5 | Correct | 3 ms | 14936 KB | Output is correct |
6 | Correct | 3 ms | 14936 KB | Output is correct |
7 | Correct | 4 ms | 14936 KB | Output is correct |
8 | Correct | 3 ms | 14940 KB | Output is correct |
9 | Correct | 5 ms | 15216 KB | Output is correct |
10 | Correct | 3 ms | 15192 KB | Output is correct |
11 | Correct | 3 ms | 14936 KB | Output is correct |
12 | Correct | 5 ms | 15452 KB | Output is correct |
13 | Correct | 5 ms | 15452 KB | Output is correct |
14 | Correct | 3 ms | 14936 KB | Output is correct |
15 | Correct | 4 ms | 14940 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 14940 KB | Output is correct |
2 | Correct | 3 ms | 14940 KB | Output is correct |
3 | Correct | 3 ms | 14936 KB | Output is correct |
4 | Correct | 4 ms | 14940 KB | Output is correct |
5 | Correct | 3 ms | 14936 KB | Output is correct |
6 | Correct | 3 ms | 14936 KB | Output is correct |
7 | Correct | 4 ms | 14936 KB | Output is correct |
8 | Correct | 3 ms | 14940 KB | Output is correct |
9 | Correct | 5 ms | 15216 KB | Output is correct |
10 | Correct | 3 ms | 15192 KB | Output is correct |
11 | Correct | 3 ms | 14936 KB | Output is correct |
12 | Correct | 5 ms | 15452 KB | Output is correct |
13 | Correct | 5 ms | 15452 KB | Output is correct |
14 | Correct | 3 ms | 14936 KB | Output is correct |
15 | Correct | 4 ms | 14940 KB | Output is correct |
16 | Correct | 400 ms | 89188 KB | Output is correct |
17 | Correct | 69 ms | 31580 KB | Output is correct |
18 | Correct | 94 ms | 34412 KB | Output is correct |
19 | Correct | 563 ms | 94540 KB | Output is correct |
20 | Correct | 226 ms | 77804 KB | Output is correct |
21 | Correct | 32 ms | 24400 KB | Output is correct |
22 | Correct | 267 ms | 74320 KB | Output is correct |