Submission #749064

# Submission time Handle Problem Language Result Execution time Memory
749064 2023-05-27T09:42:40 Z onebit1024 Cyberland (APIO23_cyberland) C++17
68 / 100
1632 ms 2097152 KB

#include <bits/stdc++.h>
#include "cyberland.h"

using namespace std;

#define ll long long
#define pb push_back
#define all(c) c.begin(), c.end()
#define endl "\n"

const double PI=3.141592653589;


void __print(int x) {cerr << x;}
void __print(long x) {cerr << x;}
void __print(unsigned x) {cerr << x;}
void __print(unsigned long x) {cerr << x;}
void __print(unsigned long long x) {cerr << x;}
void __print(float x) {cerr << x;}
void __print(double x) {cerr << x;}
void __print(long double x) {cerr << x;}
void __print(char x) {cerr << '\'' << x << '\'';}
void __print(const char *x) {cerr << '\"' << x << '\"';}
void __print(const string &x) {cerr << '\"' << x << '\"';}
void __print(bool x) {cerr << (x ? "true" : "false");} 

template<typename T, typename V>
void __print(const pair<T, V> &x) {cerr << '{'; __print(x.first); cerr << ','; __print(x.second); cerr << '}';}
template<typename T>
void __print(const T &x) {int f = 0; cerr << '{'; for (auto &i: x) cerr << (f++ ? "," : ""), __print(i); cerr << "}";}
void _print() {cerr << "]\n";}
template <typename T, typename... V>
void _print(T t, V... v) {__print(t); if (sizeof...(v)) cerr << ", "; _print(v...);}
#ifndef ONLINE_JUDGE
#define dbg(x...) cerr << "LINE(" << __LINE__ << ") -> " <<"[" << #x << "] = ["; _print(x)
#else
#define dbg(x...)
#endif



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) {
    vector<vector<pair<int,int>>>adj(n+1);

    for(int i = 0;i<m;++i)adj[x[i]].pb({y[i],c[i]}),adj[y[i]].pb({x[i],c[i]});

    priority_queue<vector<double>,vector<vector<double>>,greater<vector<double>>>pq;

    vector<vector<double>>dist(n+1, vector<double>(k+1,1e18));
    for(int j = 0;j<=k;++j)dist[0][j] = 0,pq.push({0,0,(double)j});

    vector<vector<int>>visited(n+1, vector<int>(k+1));
    while(!pq.empty()){
        int u = pq.top()[1], j = pq.top()[2];
        double dd = pq.top()[0];
        pq.pop();

        if(dd!=dist[u][j])continue;

        if(u==h)continue;
        for(auto &[v,c] : adj[u]){
            double curr_dist = dist[v][j],new_dist = dist[u][j]+c;
            if(arr[v]==1)new_dist = dist[u][j]+c;
            else if(arr[v]==0)new_dist = 0;
            else if(arr[v]==2){
                if(j)new_dist = min(new_dist,(dist[u][j]+c)/2);                
            }
            if(new_dist < curr_dist){
                dist[v][j] = new_dist;
                pq.push({new_dist,(double)v,(double)j});
            }
            
        }
    }
    double res = 1e18;
    for(int i = 0;i<=k;++i)res = min(res, dist[h][i]);
    if(res==1e18)res = -1;
    return res;
}
# Verdict Execution time Memory Grader output
1 Correct 86 ms 384 KB Correct.
2 Correct 87 ms 364 KB Correct.
# Verdict Execution time Memory Grader output
1 Correct 314 ms 1184 KB Correct.
2 Correct 381 ms 1208 KB Correct.
3 Correct 353 ms 1208 KB Correct.
4 Correct 372 ms 1316 KB Correct.
5 Correct 372 ms 1188 KB Correct.
6 Correct 402 ms 8316 KB Correct.
7 Correct 526 ms 8336 KB Correct.
8 Correct 238 ms 15744 KB Correct.
9 Correct 287 ms 460 KB Correct.
10 Correct 292 ms 516 KB Correct.
# Verdict Execution time Memory Grader output
1 Correct 434 ms 1160 KB Correct.
2 Correct 436 ms 1136 KB Correct.
3 Correct 391 ms 1172 KB Correct.
4 Correct 363 ms 588 KB Correct.
5 Correct 365 ms 500 KB Correct.
6 Correct 89 ms 6004 KB Correct.
# Verdict Execution time Memory Grader output
1 Correct 610 ms 30888 KB Correct.
2 Correct 1117 ms 904 KB Correct.
3 Correct 1025 ms 936 KB Correct.
4 Correct 1166 ms 916 KB Correct.
5 Correct 1070 ms 604 KB Correct.
# Verdict Execution time Memory Grader output
1 Correct 222 ms 1156 KB Correct.
2 Correct 266 ms 1172 KB Correct.
3 Correct 296 ms 1188 KB Correct.
4 Correct 289 ms 8136 KB Correct.
5 Correct 174 ms 468 KB Correct.
# Verdict Execution time Memory Grader output
1 Correct 295 ms 1348 KB Correct.
2 Correct 242 ms 1328 KB Correct.
3 Correct 79 ms 40324 KB Correct.
4 Correct 213 ms 8380 KB Correct.
5 Correct 216 ms 512 KB Correct.
6 Correct 257 ms 1348 KB Correct.
# Verdict Execution time Memory Grader output
1 Correct 1632 ms 3252 KB Correct.
2 Correct 223 ms 3748 KB Correct.
3 Incorrect 1322 ms 37400 KB Wrong Answer.
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 919 ms 2097152 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -