| 16293 | 2025-04-21 09:23:43 | horka | Vállalati ügyelet | cpp17 | Időlimit túllépés 42/100 | 1.101s | 42420 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=500;
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 | 4916 KiB | ||||
| 2 | Időlimit túllépés | 1.077s | 31820 KiB | ||||
| subtask2 | 5/5 | ||||||
| 3 | Elfogadva | 6ms | 4920 KiB | ||||
| 4 | Elfogadva | 4ms | 4916 KiB | ||||
| 5 | Elfogadva | 6ms | 4916 KiB | ||||
| 6 | Elfogadva | 4ms | 4916 KiB | ||||
| subtask3 | 8/8 | ||||||
| 7 | Elfogadva | 6ms | 4920 KiB | ||||
| 8 | Elfogadva | 4ms | 4916 KiB | ||||
| 9 | Elfogadva | 6ms | 4916 KiB | ||||
| 10 | Elfogadva | 4ms | 4916 KiB | ||||
| 11 | Elfogadva | 330ms | 31772 KiB | ||||
| 12 | Elfogadva | 365ms | 31872 KiB | ||||
| 13 | Elfogadva | 407ms | 31916 KiB | ||||
| 14 | Elfogadva | 505ms | 32064 KiB | ||||
| subtask4 | 12/12 | ||||||
| 15 | Elfogadva | 6ms | 4920 KiB | ||||
| 16 | Elfogadva | 4ms | 4916 KiB | ||||
| 17 | Elfogadva | 6ms | 4916 KiB | ||||
| 18 | Elfogadva | 4ms | 4916 KiB | ||||
| 19 | Elfogadva | 317ms | 41892 KiB | ||||
| 20 | Elfogadva | 368ms | 41636 KiB | ||||
| 21 | Elfogadva | 409ms | 41640 KiB | ||||
| 22 | Elfogadva | 533ms | 41496 KiB | ||||
| 23 | Elfogadva | 367ms | 42400 KiB | ||||
| 24 | Elfogadva | 342ms | 42420 KiB | ||||
| subtask5 | 17/17 | ||||||
| 25 | Elfogadva | 6ms | 4920 KiB | ||||
| 26 | Elfogadva | 4ms | 4916 KiB | ||||
| 27 | Elfogadva | 6ms | 4916 KiB | ||||
| 28 | Elfogadva | 4ms | 4916 KiB | ||||
| 29 | Elfogadva | 7ms | 5356 KiB | ||||
| 30 | Elfogadva | 8ms | 5428 KiB | ||||
| 31 | Elfogadva | 7ms | 5428 KiB | ||||
| 32 | Elfogadva | 9ms | 5172 KiB | ||||
| 33 | Elfogadva | 8ms | 5436 KiB | ||||
| 34 | Elfogadva | 8ms | 5172 KiB | ||||
| 35 | Elfogadva | 9ms | 5400 KiB | ||||
| 36 | Elfogadva | 8ms | 5252 KiB | ||||
| 37 | Elfogadva | 8ms | 5408 KiB | ||||
| 38 | Elfogadva | 8ms | 5204 KiB | ||||
| 39 | Elfogadva | 8ms | 5172 KiB | ||||
| 40 | Elfogadva | 8ms | 5172 KiB | ||||
| 41 | Elfogadva | 7ms | 5428 KiB | ||||
| subtask6 | 0/28 | ||||||
| 42 | Időlimit túllépés | 1.101s | 32180 KiB | ||||
| 43 | Időlimit túllépés | 1.101s | 33188 KiB | ||||
| 44 | Időlimit túllépés | 1.101s | 34980 KiB | ||||
| 45 | Időlimit túllépés | 1.1s | 37028 KiB | ||||
| 46 | Időlimit túllépés | 1.077s | 39080 KiB | ||||
| 47 | Időlimit túllépés | 1.077s | 40608 KiB | ||||
| 48 | Elfogadva | 554ms | 32156 KiB | ||||
| 49 | Elfogadva | 532ms | 41632 KiB | ||||
| 50 | Elfogadva | 351ms | 42408 KiB | ||||
| subtask7 | 0/30 | ||||||
| 51 | Elfogadva | 4ms | 5116 KiB | ||||
| 52 | Időlimit túllépés | 1.093s | 29836 KiB | ||||
| 53 | Elfogadva | 6ms | 4920 KiB | ||||
| 54 | Elfogadva | 4ms | 4916 KiB | ||||
| 55 | Elfogadva | 6ms | 4916 KiB | ||||
| 56 | Elfogadva | 4ms | 4916 KiB | ||||
| 57 | Elfogadva | 330ms | 31772 KiB | ||||
| 58 | Elfogadva | 365ms | 31872 KiB | ||||
| 59 | Elfogadva | 407ms | 31916 KiB | ||||
| 60 | Elfogadva | 505ms | 32064 KiB | ||||
| 61 | Elfogadva | 317ms | 41892 KiB | ||||
| 62 | Elfogadva | 368ms | 41636 KiB | ||||
| 63 | Elfogadva | 409ms | 41640 KiB | ||||
| 64 | Elfogadva | 533ms | 41496 KiB | ||||
| 65 | Elfogadva | 367ms | 42400 KiB | ||||
| 66 | Elfogadva | 342ms | 42420 KiB | ||||
| 67 | Elfogadva | 7ms | 5356 KiB | ||||
| 68 | Elfogadva | 8ms | 5428 KiB | ||||
| 69 | Elfogadva | 7ms | 5428 KiB | ||||
| 70 | Elfogadva | 9ms | 5172 KiB | ||||
| 71 | Elfogadva | 8ms | 5436 KiB | ||||
| 72 | Elfogadva | 8ms | 5172 KiB | ||||
| 73 | Elfogadva | 9ms | 5400 KiB | ||||
| 74 | Elfogadva | 8ms | 5252 KiB | ||||
| 75 | Elfogadva | 8ms | 5408 KiB | ||||
| 76 | Elfogadva | 8ms | 5204 KiB | ||||
| 77 | Elfogadva | 8ms | 5172 KiB | ||||
| 78 | Elfogadva | 8ms | 5172 KiB | ||||
| 79 | Elfogadva | 7ms | 5428 KiB | ||||
| 80 | Időlimit túllépés | 1.101s | 32180 KiB | ||||
| 81 | Időlimit túllépés | 1.101s | 33188 KiB | ||||
| 82 | Időlimit túllépés | 1.101s | 34980 KiB | ||||
| 83 | Időlimit túllépés | 1.1s | 37028 KiB | ||||
| 84 | Időlimit túllépés | 1.077s | 39080 KiB | ||||
| 85 | Időlimit túllépés | 1.077s | 40608 KiB | ||||
| 86 | Elfogadva | 554ms | 32156 KiB | ||||
| 87 | Elfogadva | 532ms | 41632 KiB | ||||
| 88 | Elfogadva | 351ms | 42408 KiB | ||||
| 89 | Elfogadva | 819ms | 31648 KiB | ||||
| 90 | Elfogadva | 842ms | 31908 KiB | ||||
| 91 | Időlimit túllépés | 1.101s | 31908 KiB | ||||
| 92 | Időlimit túllépés | 1.085s | 31908 KiB | ||||
| 93 | Időlimit túllépés | 1.083s | 33696 KiB | ||||
| 94 | Időlimit túllépés | 1.082s | 36256 KiB | ||||
| 95 | Időlimit túllépés | 1.101s | 38920 KiB | ||||
| 96 | Időlimit túllépés | 1.085s | 32164 KiB | ||||
| 97 | Időlimit túllépés | 1.085s | 32160 KiB | ||||
| 98 | Időlimit túllépés | 1.085s | 32928 KiB | ||||
| 99 | Időlimit túllépés | 1.101s | 32132 KiB | ||||
| 100 | Időlimit túllépés | 1.088s | 33012 KiB | ||||
| 101 | Időlimit túllépés | 1.082s | 34976 KiB | ||||