# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
293643 | Autoratch | Sky Walking (IOI19_walk) | C++14 | 4067 ms | 363128 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "walk.h"
#include <bits/stdc++.h>
using namespace std;
#define pii pair<long long,int>
const int N = 1.5e6 + 1;
int n,m,id;
pair<int,int> val[N];
vector<pair<int,int> > ver[N];
vector<pair<long long,int> > adj[N];
long long dist[N];
bool visited[N];
priority_queue<pii,vector<pii>,greater<pii> > q;
long long min_distance(vector<int> x,vector<int> h,vector<int> l,vector<int> r,vector<int> y,int s,int g)
{
n = x.size(),m = l.size();
for(int i = 0;i < n;i++)
{
ver[i].push_back({0,i});
val[i] = {i,0};
id++;
}
id++;
for(int i = 0;i < m;i++)
{
vector<int> wo;
for(int j = l[i];j <= r[i];j++) if(h[j]>=y[i]) wo.push_back(j);
int pr = -1;
for(int j : wo)
{
val[++id] = {j,y[i]};
if(pr!=-1)
{
adj[id].push_back({x[j]-x[pr],id-1});
adj[id-1].push_back({x[j]-x[pr],id});
}
pr = j;
ver[j].push_back({y[i],id});
}
}
for(int i = 0;i < n;i++)
{
sort(ver[i].begin(),ver[i].end());
for(int j = 1;j < ver[i].size();j++)
{
adj[ver[i][j-1].second].push_back({ver[i][j].first-ver[i][j-1].first,ver[i][j].second});
adj[ver[i][j].second].push_back({ver[i][j].first-ver[i][j-1].first,ver[i][j-1].second});
}
}
for(int i = 0;i <= id;i++) dist[i] = LLONG_MAX;
dist[s] = 0;
q.push({0,s});
while(!q.empty())
{
int u = q.top().second;
q.pop();
if(visited[u]) continue;
visited[u] = true;
for(auto [w,v] : adj[u]) if(dist[u]+w<dist[v]) dist[v] = dist[u]+w,q.push({dist[v],v});
}
if(dist[g]==LLONG_MAX) dist[g] = -1;
return dist[g];
}
컴파일 시 표준 에러 (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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |