# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
987021 | activedeltorre | Closing Time (IOI23_closing) | C++17 | 165 ms | 47192 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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;
}
컴파일 시 표준 에러 (stderr) 메시지
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |