| 16294 | 2025-04-21 09:24:33 | horka | Vállalati ügyelet | cpp17 | Időlimit túllépés 42/100 | 1.101s | 40104 KiB |
#include <bits/stdc++.h>
using namespace std;
//#define int long long
#define pb push_back
#define sz(x) (int)x.size()
#define all(x) x.begin(),x.end()
#define rall(x) x.rbegin(),x.rend()
const int c=2e5+3,inf=1e7,gy=350;
vector<int> adj[c];
int be[c],ki[c],ido;
bool val[4*c];
void dfs(int cs)
{
be[cs]=++ido;
for(int &i:adj[cs])
if(!be[i]) dfs(i);
ki[cs]=++ido;
}
bool rendez(array<int, 3> a, array<int, 3> b)
{
return (a[0]/gy<b[0]/gy || (a[0]/gy==b[0]/gy && a[1]<b[1]));
}
signed main()
{
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
int n; cin>>n;
vector<int> p(n+1),a(n+1);
for(int i=1; i<=n; i++)
{
cin>>p[i];
if(i>1)
{
adj[i].pb(p[i]);
adj[p[i]].pb(i);
}
}
for(int i=1; i<=n; i++)
cin>>a[i];
dfs(1);
vector<array<int, 3>> kerd;
vector<int> ans(n+1);
for(int i=1; i<=n; i++)
kerd.pb({be[i],ki[i],i});
sort(all(kerd),rendez);
vector<int> cnt(n+1);
set<int> nincs;
for(int i=1; i<=n+1; i++)
nincs.insert(i);
vector<int> ert(2*n+1);
for(int i=1; i<=n; i++)
ert[be[i]]=a[i];
auto op=[&](int ind, int ad)
{
if(ert[ind]==0) return;
cnt[ert[ind]]+=ad;
if(cnt[ert[ind]]==0) nincs.insert(ert[ind]);
else nincs.erase(ert[ind]);
};
int bal=1,jobb=1,kor=0;
op(1,1);
for(auto &[l,r,ind]:kerd)
{
while(bal>l)
{
bal--;
op(bal,1);
}
while(bal<l)
{
op(bal,-1);
bal++;
}
while(jobb>r)
{
op(jobb,-1);
jobb--;
}
while(jobb<r)
{
jobb++;
op(jobb,1);
}
ans[ind]=*nincs.begin();
}
for(int i=1; i<=n; i++)
cout<<ans[i]<<" ";
cout<<"\n";
}
| Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Elfogadva | 4ms | 5100 KiB | ||||
| 2 | Időlimit túllépés | 1.085s | 29596 KiB | ||||
| subtask2 | 5/5 | ||||||
| 3 | Elfogadva | 6ms | 4920 KiB | ||||
| 4 | Elfogadva | 4ms | 4916 KiB | ||||
| 5 | Elfogadva | 6ms | 4928 KiB | ||||
| 6 | Elfogadva | 4ms | 5108 KiB | ||||
| subtask3 | 8/8 | ||||||
| 7 | Elfogadva | 6ms | 4920 KiB | ||||
| 8 | Elfogadva | 4ms | 4916 KiB | ||||
| 9 | Elfogadva | 6ms | 4928 KiB | ||||
| 10 | Elfogadva | 4ms | 5108 KiB | ||||
| 11 | Elfogadva | 337ms | 30392 KiB | ||||
| 12 | Elfogadva | 354ms | 30388 KiB | ||||
| 13 | Elfogadva | 402ms | 30388 KiB | ||||
| 14 | Elfogadva | 518ms | 30456 KiB | ||||
| subtask4 | 12/12 | ||||||
| 15 | Elfogadva | 6ms | 4920 KiB | ||||
| 16 | Elfogadva | 4ms | 4916 KiB | ||||
| 17 | Elfogadva | 6ms | 4928 KiB | ||||
| 18 | Elfogadva | 4ms | 5108 KiB | ||||
| 19 | Elfogadva | 310ms | 39588 KiB | ||||
| 20 | Elfogadva | 372ms | 39332 KiB | ||||
| 21 | Elfogadva | 393ms | 39372 KiB | ||||
| 22 | Elfogadva | 532ms | 39076 KiB | ||||
| 23 | Elfogadva | 365ms | 40100 KiB | ||||
| 24 | Elfogadva | 330ms | 39840 KiB | ||||
| subtask5 | 17/17 | ||||||
| 25 | Elfogadva | 6ms | 4920 KiB | ||||
| 26 | Elfogadva | 4ms | 4916 KiB | ||||
| 27 | Elfogadva | 6ms | 4928 KiB | ||||
| 28 | Elfogadva | 4ms | 5108 KiB | ||||
| 29 | Elfogadva | 8ms | 5172 KiB | ||||
| 30 | Elfogadva | 7ms | 5428 KiB | ||||
| 31 | Elfogadva | 8ms | 5620 KiB | ||||
| 32 | Elfogadva | 9ms | 5404 KiB | ||||
| 33 | Elfogadva | 9ms | 5420 KiB | ||||
| 34 | Elfogadva | 8ms | 5184 KiB | ||||
| 35 | Elfogadva | 8ms | 5176 KiB | ||||
| 36 | Elfogadva | 8ms | 5404 KiB | ||||
| 37 | Elfogadva | 8ms | 5428 KiB | ||||
| 38 | Elfogadva | 8ms | 5172 KiB | ||||
| 39 | Elfogadva | 8ms | 5400 KiB | ||||
| 40 | Elfogadva | 8ms | 5392 KiB | ||||
| 41 | Elfogadva | 8ms | 5420 KiB | ||||
| subtask6 | 0/28 | ||||||
| 42 | Időlimit túllépés | 1.093s | 29788 KiB | ||||
| 43 | Időlimit túllépés | 1.093s | 30644 KiB | ||||
| 44 | Időlimit túllépés | 1.093s | 32420 KiB | ||||
| 45 | Időlimit túllépés | 1.093s | 34732 KiB | ||||
| 46 | Időlimit túllépés | 1.088s | 36704 KiB | ||||
| 47 | Időlimit túllépés | 1.088s | 37988 KiB | ||||
| 48 | Elfogadva | 540ms | 30368 KiB | ||||
| 49 | Elfogadva | 549ms | 39080 KiB | ||||
| 50 | Elfogadva | 345ms | 40104 KiB | ||||
| subtask7 | 0/30 | ||||||
| 51 | Elfogadva | 4ms | 5108 KiB | ||||
| 52 | Időlimit túllépés | 1.075s | 29600 KiB | ||||
| 53 | Elfogadva | 6ms | 4920 KiB | ||||
| 54 | Elfogadva | 4ms | 4916 KiB | ||||
| 55 | Elfogadva | 6ms | 4928 KiB | ||||
| 56 | Elfogadva | 4ms | 5108 KiB | ||||
| 57 | Elfogadva | 337ms | 30392 KiB | ||||
| 58 | Elfogadva | 354ms | 30388 KiB | ||||
| 59 | Elfogadva | 402ms | 30388 KiB | ||||
| 60 | Elfogadva | 518ms | 30456 KiB | ||||
| 61 | Elfogadva | 310ms | 39588 KiB | ||||
| 62 | Elfogadva | 372ms | 39332 KiB | ||||
| 63 | Elfogadva | 393ms | 39372 KiB | ||||
| 64 | Elfogadva | 532ms | 39076 KiB | ||||
| 65 | Elfogadva | 365ms | 40100 KiB | ||||
| 66 | Elfogadva | 330ms | 39840 KiB | ||||
| 67 | Elfogadva | 8ms | 5172 KiB | ||||
| 68 | Elfogadva | 7ms | 5428 KiB | ||||
| 69 | Elfogadva | 8ms | 5620 KiB | ||||
| 70 | Elfogadva | 9ms | 5404 KiB | ||||
| 71 | Elfogadva | 9ms | 5420 KiB | ||||
| 72 | Elfogadva | 8ms | 5184 KiB | ||||
| 73 | Elfogadva | 8ms | 5176 KiB | ||||
| 74 | Elfogadva | 8ms | 5404 KiB | ||||
| 75 | Elfogadva | 8ms | 5428 KiB | ||||
| 76 | Elfogadva | 8ms | 5172 KiB | ||||
| 77 | Elfogadva | 8ms | 5400 KiB | ||||
| 78 | Elfogadva | 8ms | 5392 KiB | ||||
| 79 | Elfogadva | 8ms | 5420 KiB | ||||
| 80 | Időlimit túllépés | 1.093s | 29788 KiB | ||||
| 81 | Időlimit túllépés | 1.093s | 30644 KiB | ||||
| 82 | Időlimit túllépés | 1.093s | 32420 KiB | ||||
| 83 | Időlimit túllépés | 1.093s | 34732 KiB | ||||
| 84 | Időlimit túllépés | 1.088s | 36704 KiB | ||||
| 85 | Időlimit túllépés | 1.088s | 37988 KiB | ||||
| 86 | Elfogadva | 540ms | 30368 KiB | ||||
| 87 | Elfogadva | 549ms | 39080 KiB | ||||
| 88 | Elfogadva | 345ms | 40104 KiB | ||||
| 89 | Elfogadva | 797ms | 29864 KiB | ||||
| 90 | Elfogadva | 833ms | 30000 KiB | ||||
| 91 | Időlimit túllépés | 1.101s | 29604 KiB | ||||
| 92 | Időlimit túllépés | 1.08s | 29600 KiB | ||||
| 93 | Időlimit túllépés | 1.087s | 31656 KiB | ||||
| 94 | Időlimit túllépés | 1.08s | 33952 KiB | ||||
| 95 | Időlimit túllépés | 1.085s | 36260 KiB | ||||
| 96 | Időlimit túllépés | 1.09s | 29864 KiB | ||||
| 97 | Időlimit túllépés | 1.09s | 30112 KiB | ||||
| 98 | Időlimit túllépés | 1.078s | 30884 KiB | ||||
| 99 | Időlimit túllépés | 1.101s | 29856 KiB | ||||
| 100 | Időlimit túllépés | 1.087s | 30884 KiB | ||||
| 101 | Időlimit túllépés | 1.083s | 32928 KiB | ||||