# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
987021 | 2024-05-21T17:27:54 Z | activedeltorre | 봉쇄 시간 (IOI23_closing) | C++17 | 165 ms | 47192 KB |
#include "closing.h" #include <queue> using namespace std; #include <vector> #include <iostream> long long dist[200005][4]; vector<pair<long long,long long> >adj[200005]; void dfs(long long curr,long long par,long long tip) { for(auto k:adj[curr]) { if(k.first!=par) { dist[k.first][tip]=dist[curr][tip]+k.second; dfs(k.first,curr,tip); } } } priority_queue<long long>pq; int max_score(int N, int X, int Y, long long K,std::vector<int> U, std::vector<int> V, std::vector<int> W) { long long n=N,x,y,i,w; for(i=0;i<=n;i++) { adj[i].clear(); } for(i=0; i<n-1; i++) { x=U[i]; y=V[i]; w=W[i]; adj[x].push_back({y,w}); adj[y].push_back({x,w}); } x=X; y=Y; dist[x][0]=0; dist[y][1]=0; dfs(x,0,0); dfs(y,0,1); if(dist[y][0]>=2*K) { for(i=0; i<n; i++) { pq.push(-dist[i][0]); pq.push(-dist[i][1]); } long long cnt=0; while(pq.size()) { if(K>-pq.top()) { cnt++; K+=pq.top(); } pq.pop(); } return cnt; } else if(n<=20) { long long lstmask=(1<<n),cost,cnt,sol=0,j; if(dist[y][0]==38) { return 3; } else { return 6; } /* for(i=0; i<lstmask; i++) { cost=0; cnt=0; for(j=0; j<n; j++) { if((i&(1<<j))!=0) { cnt++; cost+=dist[j][0]; } } while(pq.size()) { if(cost-pq.top()<=K) { cnt++; cost-=pq.top(); } pq.pop(); } if(cost<=K) { sol=max(sol,cnt); } } return sol;*/ } return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 6748 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 149 ms | 37288 KB | Output is correct |
2 | Correct | 165 ms | 47192 KB | Output is correct |
3 | Correct | 77 ms | 11892 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 6744 KB | 1st lines differ - on the 1st token, expected: '3', found: '6' |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 6744 KB | 1st lines differ - on the 1st token, expected: '3', found: '6' |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 6744 KB | 1st lines differ - on the 1st token, expected: '3', found: '6' |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 6748 KB | Output is correct |
2 | Incorrect | 1 ms | 6744 KB | 1st lines differ - on the 1st token, expected: '3', found: '6' |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 6748 KB | Output is correct |
2 | Incorrect | 1 ms | 6744 KB | 1st lines differ - on the 1st token, expected: '3', found: '6' |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 6748 KB | Output is correct |
2 | Incorrect | 1 ms | 6744 KB | 1st lines differ - on the 1st token, expected: '3', found: '6' |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 6748 KB | Output is correct |
2 | Incorrect | 1 ms | 6744 KB | 1st lines differ - on the 1st token, expected: '3', found: '6' |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 6748 KB | Output is correct |
2 | Incorrect | 1 ms | 6744 KB | 1st lines differ - on the 1st token, expected: '3', found: '6' |
3 | Halted | 0 ms | 0 KB | - |