답안 #878557

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
878557 2023-11-24T17:27:32 Z nikaa123 봉쇄 시간 (IOI23_closing) C++17
0 / 100
96 ms 27136 KB
#include "closing.h"
#include <bits/stdc++.h>
using namespace std;

struct Arc {int v;int d;};
vector <Arc> gr[200000];
long long dist[400001];
long long d;
int nd;
bool fix[200000];

void dfs (int u) {
    fix[u] = 1;
    for (int i = 0; i < (int)gr[u].size(); i++) {
        int v = gr[u][i].v;
        if (!fix[v]) {
            nd++;
            d+=gr[u][i].d;
            dist[nd] = d;
            dfs(v);
            d-=gr[u][i].d;
        }
    }
}


int max_score(int N, int X, int Y, long long K,
              std::vector<int> U, std::vector<int> V, std::vector<int> W)
{
    Arc tmp;
    for (int i = 0; i < N; i++) {
        gr[i].clear();
        fix[i] = 0;
    }
    for (int i = 0; i <= 2*N; i++) {
        dist[i] = 0;
    }

    for (int i = 0; i < N; i++) {
        tmp.v=V[i];
        tmp.d = W[i];
        gr[U[i]].push_back(tmp);
        tmp.v=U[i];
        gr[V[i]].push_back(tmp);
    }

    d = 0;
    nd = 0;
    dist[0] = 0;
    dfs(X);
    for (int i = 0; i < N; i++) {
        fix[i] = 0;
    }
    d = 0;
    nd++;
    dist[nd] = 0;
    dfs(Y);
    sort(dist,dist+nd+1);
    int ans = 0; long long sum = 0;
    for (int i = 0; i < 2*N; i++) {
        if (sum + dist[i] > K) {
            break;
        } else {
            sum += dist[i];
            ans++;
        }
    }
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 8284 KB 1st lines differ - on the 1st token, expected: '6', found: '0'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 96 ms 27136 KB 1st lines differ - on the 1st token, expected: '451', found: '0'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 10 ms 16436 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 10 ms 16436 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 10 ms 16436 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 8284 KB 1st lines differ - on the 1st token, expected: '6', found: '0'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 8284 KB 1st lines differ - on the 1st token, expected: '6', found: '0'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 8284 KB 1st lines differ - on the 1st token, expected: '6', found: '0'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 8284 KB 1st lines differ - on the 1st token, expected: '6', found: '0'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 8284 KB 1st lines differ - on the 1st token, expected: '6', found: '0'
2 Halted 0 ms 0 KB -