# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
980199 | 2024-05-12T00:58:50 Z | vjudge1 | 봉쇄 시간 (IOI23_closing) | C++17 | 1000 ms | 220464 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 x; }; bool operator <(const tpos &a, const tpos &b){ return a.cnt>b.cnt; } int n; long long k; long long cnt; int ans; long long memo[200000]; vector<vector<ari>> adj; priority_queue<tpos> q; void dfs(){ tpos t, ta; while(!q.empty() && cnt<k){ t=q.top(); q.pop(); if(memo[t.node]!=-1){ if(memo[t.node]<t.cnt){ if(cnt+t.cnt-memo[t.node]<=k){ cnt+=t.cnt-memo[t.node]; memo[t.node]=t.cnt; } else{ break; } } } else{ if(cnt+t.cnt<=k){ cnt+=t.cnt; memo[t.node]=t.cnt; } else break; } ans++; for(auto h: adj[t.node]){ q.push({h.node, t.cnt+h.w}); } } while(!q.empty()) q.pop(); } 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; cnt=0; adj.clear(); adj.resize(n); for(int i=0; i<n; i++) memo[i]=-1; memo[X]= memo[Y]=0; 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[Y].size(); i++){ q.push({adj[Y][i].node, adj[Y][i].w}); } dfs(); return ans; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 344 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1031 ms | 220464 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | Output is correct |
2 | Incorrect | 2 ms | 796 KB | 1st lines differ - on the 1st token, expected: '30', found: '9185' |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | Output is correct |
2 | Incorrect | 2 ms | 796 KB | 1st lines differ - on the 1st token, expected: '30', found: '9185' |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | Output is correct |
2 | Incorrect | 2 ms | 796 KB | 1st lines differ - on the 1st token, expected: '30', found: '9185' |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 344 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
3 | Incorrect | 2 ms | 796 KB | 1st lines differ - on the 1st token, expected: '30', found: '9185' |
4 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 344 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
3 | Incorrect | 2 ms | 796 KB | 1st lines differ - on the 1st token, expected: '30', found: '9185' |
4 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 344 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
3 | Incorrect | 2 ms | 796 KB | 1st lines differ - on the 1st token, expected: '30', found: '9185' |
4 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 344 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
3 | Incorrect | 2 ms | 796 KB | 1st lines differ - on the 1st token, expected: '30', found: '9185' |
4 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 344 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
3 | Incorrect | 2 ms | 796 KB | 1st lines differ - on the 1st token, expected: '30', found: '9185' |
4 | Halted | 0 ms | 0 KB | - |