Submission #869275


Source Code Expand

#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
#define rep(i,n) for(int (i)=0;(i)<(int)(n);++(i))
#define each(itr,c) for(__typeof(c.begin()) itr=c.begin(); itr!=c.end(); ++itr)
#define all(x) (x).begin(),(x).end()
#define pb push_back
#define fi first
#define se second

typedef pair<int,int> pi;

vector<int> invG[100000];

int main()
{
    int n,k;
    cin >>n >>k;
    vector<int> a(n);
    rep(i,n)
    {
        scanf(" %d", &a[i]);
        --a[i];
    }

    for(int i=1; i<n; ++i) invG[a[i]].pb(i);

    vector<int> d(n,0);
    queue<int> que;
    que.push(0);
    while(!que.empty())
    {
        int v=que.front();
        que.pop();
        rep(i,invG[v].size())
        {
            int nx=invG[v][i];
            d[nx]=d[v]+1;
            que.push(nx);
        }
    }

    vector<pi> p(n);
    rep(i,n) p[i]=pi(d[i],i);
    sort(all(p), greater<pi>());

    int ans=0;
    if(a[0]!=0)
    {
        ++ans;
        a[0]=0;
    }

    vector<bool> vis(n,false);
    rep(i,n)
    {
        int v=p[i].se;
        if(p[i].fi<=k) break;
        if(vis[v]) continue;

        int r=v;
        rep(j,k-1) r=a[r];

        //おわり
        if(r==0) break;

        ++ans;
        que.push(r);
        vis[r]=true;
        while(!que.empty())
        {
            int now=que.front();
            que.pop();
            rep(j,invG[now].size())
            {
                int nx=invG[now][j];
                if(!vis[nx])
                {
                    vis[nx]=true;
                    que.push(nx);
                }
            }
        }
    }

    cout << ans << endl;
    return 0;
}

Submission Info

Submission Time
Task D - Teleporter
User imulan
Language C++14 (GCC 5.4.1)
Score 800
Code Size 1722 Byte
Status AC
Exec Time 74 ms
Memory 7296 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:23:28: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
         scanf(" %d", &a[i]);
                            ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 800 / 800
Status
AC × 3
AC × 58
Set Name Test Cases
Sample 0_00.txt, 0_01.txt, 0_02.txt
All 0_00.txt, 0_01.txt, 0_02.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt, 1_13.txt, 1_14.txt, 1_15.txt, 1_16.txt, 1_17.txt, 1_18.txt, 1_19.txt, 1_20.txt, 1_21.txt, 1_22.txt, 1_23.txt, 1_24.txt, 1_25.txt, 1_26.txt, 1_27.txt, 1_28.txt, 1_29.txt, 1_30.txt, 1_31.txt, 1_32.txt, 1_33.txt, 1_34.txt, 1_35.txt, 1_36.txt, 1_37.txt, 1_38.txt, 1_39.txt, 1_40.txt, 1_41.txt, 1_42.txt, 1_43.txt, 1_44.txt, 1_45.txt, 1_46.txt, 1_47.txt, 1_48.txt, 1_49.txt, 1_50.txt, 1_51.txt, 1_52.txt, 1_53.txt, 1_54.txt
Case Name Status Exec Time Memory
0_00.txt AC 7 ms 2560 KB
0_01.txt AC 7 ms 2560 KB
0_02.txt AC 7 ms 2560 KB
1_00.txt AC 7 ms 2560 KB
1_01.txt AC 7 ms 2560 KB
1_02.txt AC 65 ms 7296 KB
1_03.txt AC 67 ms 7296 KB
1_04.txt AC 68 ms 7296 KB
1_05.txt AC 74 ms 7296 KB
1_06.txt AC 70 ms 7296 KB
1_07.txt AC 66 ms 7296 KB
1_08.txt AC 69 ms 7296 KB
1_09.txt AC 61 ms 7296 KB
1_10.txt AC 67 ms 7296 KB
1_11.txt AC 69 ms 7296 KB
1_12.txt AC 70 ms 7296 KB
1_13.txt AC 69 ms 7296 KB
1_14.txt AC 71 ms 7296 KB
1_15.txt AC 73 ms 7296 KB
1_16.txt AC 48 ms 6140 KB
1_17.txt AC 48 ms 6140 KB
1_18.txt AC 48 ms 6140 KB
1_19.txt AC 32 ms 4984 KB
1_20.txt AC 31 ms 4984 KB
1_21.txt AC 31 ms 4984 KB
1_22.txt AC 63 ms 5888 KB
1_23.txt AC 64 ms 5888 KB
1_24.txt AC 64 ms 5888 KB
1_25.txt AC 59 ms 5504 KB
1_26.txt AC 60 ms 5504 KB
1_27.txt AC 59 ms 5504 KB
1_28.txt AC 47 ms 5240 KB
1_29.txt AC 51 ms 5240 KB
1_30.txt AC 42 ms 5240 KB
1_31.txt AC 67 ms 5888 KB
1_32.txt AC 61 ms 5888 KB
1_33.txt AC 61 ms 5888 KB
1_34.txt AC 61 ms 5888 KB
1_35.txt AC 74 ms 6144 KB
1_36.txt AC 62 ms 6144 KB
1_37.txt AC 62 ms 6144 KB
1_38.txt AC 62 ms 6144 KB
1_39.txt AC 70 ms 6144 KB
1_40.txt AC 68 ms 6144 KB
1_41.txt AC 62 ms 6144 KB
1_42.txt AC 62 ms 6144 KB
1_43.txt AC 72 ms 6144 KB
1_44.txt AC 68 ms 6144 KB
1_45.txt AC 68 ms 6144 KB
1_46.txt AC 62 ms 6144 KB
1_47.txt AC 68 ms 6272 KB
1_48.txt AC 69 ms 6272 KB
1_49.txt AC 67 ms 6272 KB
1_50.txt AC 61 ms 6272 KB
1_51.txt AC 66 ms 6912 KB
1_52.txt AC 69 ms 6912 KB
1_53.txt AC 69 ms 6912 KB
1_54.txt AC 61 ms 6912 KB