Submission #1007958

#TimeUsernameProblemLanguageResultExecution timeMemory
100795812345678Closing Time (IOI23_closing)C++17
8 / 100
74 ms25528 KiB
#include "closing.h"
#include <bits/stdc++.h>

using namespace std;

#define ll long long

const int nx=2e5+5;

vector<pair<ll, ll>> d[nx];

int max_score(int N, int X, int Y, long long K,
              std::vector<int> U, std::vector<int> V, std::vector<int> W)
{
    for (int i=0; i<N; i++) d[i].clear();
    for (int i=0; i<U.size(); i++) d[U[i]].push_back({V[i], W[i]}), d[V[i]].push_back({U[i], W[i]});
    int res=0;
    priority_queue<pair<ll, ll>, vector<pair<ll, ll>>, greater<pair<ll, ll>>> pq;
    vector<ll> vs(N);
    vs[X]=vs[Y]=1;
    pq.push({0, X});
    pq.push({0, Y});
    while (!pq.empty())
    {
        auto [a, u]=pq.top();
        pq.pop();
        if (a>K) break;
        K-=a;
        res++;
        vs[u]=1;
        for (auto [v, w]:d[u]) if (!vs[v]) pq.push({a+w, v}); 
    } 
    return res;
}

Compilation message (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:16:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   16 |     for (int i=0; i<U.size(); i++) d[U[i]].push_back({V[i], W[i]}), d[V[i]].push_back({U[i], W[i]});
      |                   ~^~~~~~~~~
#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...