# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
49833 | A_H_Ghaznavi | Birokracija (COCI18_birokracija) | C++14 | 1090 ms | 16000 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
// In the name of god
// A.H.Ghaznavi
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=200010;
int n,a[maxn],ansmain[maxn];
vector <int> v[maxn];
queue <int> q;
pair <int ,int> ans[maxn];
bool mark[maxn],rad[maxn];
void bfs(int z)
{
mark[z]=true;
for (int i=0;i<v[z].size();i++)
{
if (!mark[v[z][i]] || (mark[v[z][i]] && ans[z].first+1<ans[v[z][i]].first))
{
ans[v[z][i]].first=ans[z].first+1;
q.push(v[z][i]);
mark[v[z][i]]=true;
}
}
q.pop();
if (q.empty())
return;
bfs(q.front());
}
int main()
{
cin>>n;
for (int i=1;i<=n;i++)
ans[i].second=i;
for (int i=2;i<=n;i++)
{
cin>>a[i];
v[a[i]].push_back(i);
}
q.push(1);
bfs(1);
sort (ans, ans+n+1);
for (int i=1;i<=n;i++)
{
for (int i2=1;i2<=n;i2++)
rad[i2]=false;
rad[ans[i].second]=true;
for (int i2=i;i2<=n;i2++)
{
if (ans[i2].first<=ans[i].first)
continue;
if (rad[a[ans[i2].second]])
{
ansmain[ans[i].second]+=(ans[i2].first-ans[i].first+1);
rad[ans[i2].second]=true;
}
}
ansmain[ans[i].second]++;
}
for (int i=1;i<=n;i++)
cout<<ansmain[i]<<" ";
return 0;
}
Compilation message (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... |