답안 #980119

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
980119 2024-05-11T23:53:14 Z vjudge1 봉쇄 시간 (IOI23_closing) C++17
0 / 100
70 ms 20404 KB
#include "closing.h"
#include <bits/stdc++.h>
#include <vector>
#include <queue>
using namespace std;


struct ari{
    int node;
    long long w;
};

struct tpos{
    int node;
    long long cnt;
};

bool operator <(const tpos &a, const tpos &b){
    return a.cnt>b.cnt;
}

int n;
long long k;
long long cnt;
int ans;
vector<vector<ari>> adj;
priority_queue<tpos> q;

void dfs(){
    tpos t, ta;
    while(!q.empty() && cnt<k){
        t=q.top(); q.pop();
        if(cnt+t.cnt<=k)
            cnt+=t.cnt;
        else
            break;
        ans++;
        for(auto h: adj[t.node]){
            q.push({h.node, t.cnt+h.w});
        }
    }
}

int max_score(int N, int X, int Y, long long K,
              std::vector<int> U, std::vector<int> V, std::vector<int> W)
{   
    n=N;
    k=K;
    ans=2;
    adj.resize(n);
    for(int i=0; i<n-1; i++){
        adj[U[i]].push_back({V[i], W[i]});
        adj[V[i]].push_back({U[i], W[i]});
    }
    for(int i=0; i<adj[X].size(); i++){
        q.push({adj[X][i].node, adj[X][i].w});
    }
    for(int i=0; i<adj[X].size(); i++){
        q.push({adj[X][i].node, adj[X][i].w});
    }
    dfs();
    return ans;
}

Compilation message

closing.cpp: In function 'void dfs()':
closing.cpp:30:13: warning: unused variable 'ta' [-Wunused-variable]
   30 |     tpos t, ta;
      |             ^~
closing.cpp: In function 'int max_score(int, int, int, long long int, std::vector<int>, std::vector<int>, std::vector<int>)':
closing.cpp:55:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<ari>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   55 |     for(int i=0; i<adj[X].size(); i++){
      |                  ~^~~~~~~~~~~~~~
closing.cpp:58:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<ari>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   58 |     for(int i=0; i<adj[X].size(); i++){
      |                  ~^~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB 2nd lines differ - on the 1st token, expected: '3', found: '6'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 70 ms 20404 KB 1st lines differ - on the 1st token, expected: '451', found: '11186'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 512 KB Output is correct
2 Incorrect 1 ms 344 KB 1st lines differ - on the 1st token, expected: '30', found: '31'
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 512 KB Output is correct
2 Incorrect 1 ms 344 KB 1st lines differ - on the 1st token, expected: '30', found: '31'
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 512 KB Output is correct
2 Incorrect 1 ms 344 KB 1st lines differ - on the 1st token, expected: '30', found: '31'
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB 2nd lines differ - on the 1st token, expected: '3', found: '6'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB 2nd lines differ - on the 1st token, expected: '3', found: '6'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB 2nd lines differ - on the 1st token, expected: '3', found: '6'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB 2nd lines differ - on the 1st token, expected: '3', found: '6'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB 2nd lines differ - on the 1st token, expected: '3', found: '6'
2 Halted 0 ms 0 KB -