제출 #1366461

#제출 시각아이디문제언어결과실행 시간메모리
1366461rahidilbayramli9월 (APIO24_september)C++20
0 / 100
1 ms344 KiB
#include "september.h"
#include<bits/stdc++.h>
#define ll long long
#define ld long double
#define vl vector<ll>
#define vi vector<int>
#define pb push_back
#define sz(v) (ll)(v.size())
#define all(v) v.begin(), v.end()
#define rall(v) v.rbegin(), v.rend()
#define f first
#define s second
#define pii pair<int, int>
#define pll pair<ll, ll>
using namespace std;
const int sz = 1e5+5;
vi g[sz];
int vis[sz], deg[sz];
int solve(int N, int M, std::vector<int> F, std::vector<std::vector<int>> S) {
    for(int i = 1; i < N; i++)
    {
        deg[i]++;
        deg[F[i]]++;
        g[i].pb(F[i]);
        g[F[i]].pb(i);
    }
    int res = N - 1;
    for(int i = 0; i < M; i++)
    {
        int cnt = 0;
        set<int>st;
        for(int j = 0; j < N - 1; j++)
        {
            if(deg[S[i][j]] == 1)
            {
                for(auto u : g[S[i][j]]){
                    deg[u]--;
                    if(deg[u] == 1 && st.find(u) != st.end())
                        st.erase(u);
                }
            }
            else
            {
                st.insert(S[i][j]);
            }
            if(!sz(st))
                cnt++;
        }
        res = min(res, cnt);
    }
    for(int i = 0; i < N; i++)
    {
        g[i].clear();
        vis[i] = 0;
        deg[i] = 0;
    }
    return res;
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…