제출 #847434

#제출 시각아이디문제언어결과실행 시간메모리
847434TheMiraiTraveller0711봉쇄 시간 (IOI23_closing)C++17
0 / 100
1010 ms32708 KiB
#include "closing.h"
#include <bits/stdc++.h>
// #include <vector>
using namespace std;
using ll = long long;

/*
Subtask 1 :
*/

vector<vector<pair<int, ll>>> adj;
vector<bool> vis;
void DFS(int u, ll dd, vector<ll> &dist)
{
    vis[u] = 1;
    dist[u] = dd;
    for (auto [v, w] : adj[u])
    {
        if (vis[v])
            continue;
        DFS(v, dd + w, dist);
    }
}

int max_score(int N, int X, int Y, long long K,
              std::vector<int> U, std::vector<int> V, std::vector<int> W)
{
    adj.resize(N, vector<pair<int, ll>>());
    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]});
    }
    vector<ll> dist(N);
    vis.assign(N, 0);
    DFS(X, 0, dist);
    vector<ll> dist2(N);
    vis.assign(N, 0);
    DFS(Y, 0, dist2);

    dist.insert(dist.end(), dist2.begin(), dist2.end());
    sort(dist.begin(), dist.end());

    for (auto v : dist)
    {
        cerr << v << ' ';
    }
    cerr << '\n';

    int pt = 0, ans = 0;
    ll cost = 0;
    while (cost + dist[pt] <= K && pt < dist.size())
    {
        cost += dist[pt];
        pt++;
        ans++;
    }
    return ans;
}

컴파일 시 표준 에러 (stderr) 메시지

closing.cpp: In function 'int max_score(int, int, int, long long int, std::vector<int>, std::vector<int>, std::vector<int>)':
closing.cpp:52:39: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   52 |     while (cost + dist[pt] <= K && pt < dist.size())
      |                                    ~~~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...