# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
989746 | 2024-05-28T17:26:09 Z | Mihailo | 사이버랜드 (APIO23_cyberland) | C++17 | 3000 ms | 9644 KB |
#include "cyberland.h" #include <cassert> #include <cstdio> #include <bits/stdc++.h> #define pll pair<long long, long long> #define mp make_pair #define pb push_back #define xx first #define yy second using namespace std; typedef long long ll; vector<pll> adj[100100]; int a[100100], n, ks; long long dis[100100], rez; void dikstra() { priority_queue<pll> q; pll cur; q.push(mp(0, 0)); for(int i=0; i<=n; i++) dis[i]=-1; // cout<<'\n'; while(q.size()) { cur=q.top(); q.pop(); // cout<<cur.xx<<' '<<cur.yy<<'\n'; if(dis[cur.yy]!=-1) continue; dis[cur.yy]=-cur.xx; for(int i=0; i<adj[cur.yy].size(); i++) { if(dis[adj[cur.yy][i].xx]==-1) q.push(mp(cur.xx-adj[cur.yy][i].yy, adj[cur.yy][i].xx)); } } } double solve(int N, int M, int K, int H, std::vector<int> x, std::vector<int> y, std::vector<int> c, std::vector<int> arr) { for(int i=0; i<M; i++) { adj[x[i]+1].pb(mp(y[i]+1, c[i])); adj[y[i]+1].pb(mp(x[i]+1, c[i])); } n=N; a[1]=0; for(int i=1; i<arr.size(); i++) { a[i+1]=arr[i]; } ///////// adj[0].pb(mp(1, 0)); dikstra(); if(dis[H+1]==-1) return -1; adj[0].clear(); ///////// for(int i=1; i<=N; i++) { if(a[i]==0) adj[0].pb(mp(i, 0)); } rez=1e16; ks=K; K++; while(K--) { dikstra(); rez=min(rez, dis[H+1]*(ll)pow(2, K)); adj[0].clear(); for(int i=1; i<=N; i++) { if(a[i]==2) adj[0].pb(mp(i, 2*dis[i])); } } return ((double)rez)/pow(2, ks); }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 3036 ms | 4256 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 375 ms | 8264 KB | Wrong Answer. |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 489 ms | 9240 KB | Wrong Answer. |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 282 ms | 9644 KB | Wrong Answer. |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 382 ms | 8648 KB | Wrong Answer. |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 454 ms | 9024 KB | Wrong Answer. |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 3041 ms | 7492 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 3007 ms | 3928 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |