답안 #844693

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
844693 2023-09-05T17:08:04 Z oneloveforever 봉쇄 시간 (IOI23_closing) C++17
0 / 100
1000 ms 1983036 KB
//#include "closing.h"
#include <bits/stdc++.h>
using namespace std;
#define x first
#define y second
#define ii pair<int,ll>
#define ll long long
int n,a,b;
ll k;
vector<vector<ii> >edge;
void dfs(int x,int par,int type,vector<ll>&dist)
{
    for(ii need:edge[x])
    {
        int node=need.x;
        int value=need.y;
        if(node==par)continue;
        dist[node]=dist[x]+value;
        dfs(node,x,type,dist);
    }
}
int Sub1()
{
    queue<int>q;
    vector<int>source(2);
    vector<vector<ll> >dist(2,vector<ll>(n+1));
    source[0]=a;
    source[1]=b;
    for(int type=0; type<=1; type++)dfs(source[type],0,type,dist[type]);
    vector<ll>que;
    for(int i=0; i<=n-1; i++)
    {
        que.push_back(dist[0][i]);
        que.push_back(dist[1][i]);
    }
    sort(que.begin(),que.end());
    ll res=k;
    int ans=0;
    for(int value:que)
    {
        if(res<value)break;
        res-=value;
        ans++;
    }
    return ans;
}
int max_score(int N,int X,int Y,long long K,vector<int>U,vector<int>V,vector<int>W)
{
    n=N;
    a=X;
    b=Y;
    k=K;
    edge.resize(n);
    for(int i=1; i<=N-1; i++)
    {
        int x=U[i-1];
        int y=V[i-1];
        int value=W[i-1];
        edge[x].push_back({y,value});
        edge[y].push_back({x,value});
    }
    return Sub1();


}

/*signed main()
{
    int n,x,y,k;
    vector<int>U;
    vector<int>V;
    vector<int>W;
    cin>>n>>x>>y>>k;
    for(int i=1; i<=n-1; i++)
    {
        int x;
        cin>>x;
        U.push_back(x);
    }
    for(int i=1; i<=n-1; i++)
    {
        int y;
        cin>>y;
        V.push_back(y);
    }
    for(int i=1; i<=n-1; i++)
    {
        int value;
        cin>>value;
        W.push_back(value);
    }
    cout<<max_score(n,x,y,k,U,V,W);
}*/
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 344 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 135 ms 37176 KB Output is correct
2 Correct 143 ms 44796 KB Output is correct
3 Execution timed out 1171 ms 1983036 KB Time limit exceeded
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB 1st lines differ - on the 1st token, expected: '3', found: '4'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB 1st lines differ - on the 1st token, expected: '3', found: '4'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB 1st lines differ - on the 1st token, expected: '3', found: '4'
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 344 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 344 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 344 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 344 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 344 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -