Submission #1833729
Source Code Expand
#include <iostream> #include <cstdio> #include <cstring> #include <cassert> #include <cctype> using namespace std; typedef long long lint; #define cout cerr #define ni (next_num<int>()) template<class T>inline T next_num(){ T i=0;char c; while(!isdigit(c=getchar())&&c!='-'); bool flag=c=='-'; flag?c=getchar():0; while(i=i*10-'0'+c,isdigit(c=getchar())); return flag?-i:i; } template<class T1,class T2>inline void apmax(T1 &a,const T2 &b){if(a<b)a=b;} template<class T1,class T2>inline void apmin(T1 &a,const T2 &b){if(b<a)a=b;} const int N=3010; int a[N],win[N]; namespace T{ const int E=N<<1; int to[E],bro[E],head[N],e=0; inline void init(){ memset(head,-1,sizeof(head)); } inline void ae(int u,int v){ to[e]=v,bro[e]=head[u],head[u]=e++; } inline void add(int u,int v){ ae(u,v),ae(v,u); } int deg[N],que[N],qh=0,qt=0; inline void bfs(int n){ memset(deg,0,sizeof(deg)); for(int x=1;x<=n;x++){ for(int i=head[x];~i;i=bro[i]){ deg[x]+=a[to[i]]<a[x]; } if(deg[x]==0){ win[x]=-1,que[qt++]=x; } } while(qh<qt){ int x=que[qh++]; for(int i=head[x],v;~i;i=bro[i]){ if(win[v=to[i]]==0){ if(win[x]==1){ if(a[x]<a[v]){ deg[v]--; } if(deg[v]==0){ win[v]=-1,que[qt++]=v; } }else if(a[x]<a[v]){ win[v]=1,que[qt++]=v; } } } } } } int main(){ int n=ni; for(int i=1;i<=n;i++){ a[i]=ni; } T::init(); for(int i=1;i<n;T::add(ni,ni),i++); memset(win,0,sizeof(win)); T::bfs(n); for(int i=1;i<=n;i++){ assert(win[i]); if(win[i]==1){ printf("%d ",i); } } putchar('\n'); return 0; }
Submission Info
Submission Time | |
---|---|
Task | F - Tree Game |
User | sshockwave |
Language | C++14 (GCC 5.4.1) |
Score | 1600 |
Code Size | 1692 Byte |
Status | AC |
Exec Time | 2 ms |
Memory | 384 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 1600 / 1600 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample1.txt, sample2.txt, sample3.txt |
All | sample1.txt, sample2.txt, sample3.txt, in1.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, in19.txt, in2.txt, in20.txt, in21.txt, in22.txt, in23.txt, in24.txt, in25.txt, in26.txt, in27.txt, in28.txt, in29.txt, in3.txt, in30.txt, in31.txt, in32.txt, in33.txt, in34.txt, in35.txt, in36.txt, in37.txt, in38.txt, in39.txt, in4.txt, in40.txt, in41.txt, in42.txt, in43.txt, in44.txt, in45.txt, in46.txt, in47.txt, in48.txt, in49.txt, in5.txt, in50.txt, in6.txt, in7.txt, in8.txt, in9.txt, sample1.txt, sample2.txt, sample3.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
in1.txt | AC | 2 ms | 384 KB |
in10.txt | AC | 2 ms | 384 KB |
in11.txt | AC | 2 ms | 384 KB |
in12.txt | AC | 1 ms | 256 KB |
in13.txt | AC | 1 ms | 256 KB |
in14.txt | AC | 2 ms | 384 KB |
in15.txt | AC | 2 ms | 384 KB |
in16.txt | AC | 2 ms | 384 KB |
in17.txt | AC | 2 ms | 384 KB |
in18.txt | AC | 2 ms | 384 KB |
in19.txt | AC | 2 ms | 384 KB |
in2.txt | AC | 2 ms | 384 KB |
in20.txt | AC | 2 ms | 384 KB |
in21.txt | AC | 2 ms | 384 KB |
in22.txt | AC | 2 ms | 384 KB |
in23.txt | AC | 2 ms | 384 KB |
in24.txt | AC | 2 ms | 384 KB |
in25.txt | AC | 2 ms | 384 KB |
in26.txt | AC | 2 ms | 384 KB |
in27.txt | AC | 2 ms | 384 KB |
in28.txt | AC | 2 ms | 384 KB |
in29.txt | AC | 2 ms | 384 KB |
in3.txt | AC | 2 ms | 384 KB |
in30.txt | AC | 2 ms | 384 KB |
in31.txt | AC | 2 ms | 384 KB |
in32.txt | AC | 2 ms | 384 KB |
in33.txt | AC | 2 ms | 384 KB |
in34.txt | AC | 2 ms | 384 KB |
in35.txt | AC | 2 ms | 384 KB |
in36.txt | AC | 1 ms | 256 KB |
in37.txt | AC | 1 ms | 256 KB |
in38.txt | AC | 1 ms | 256 KB |
in39.txt | AC | 1 ms | 256 KB |
in4.txt | AC | 2 ms | 384 KB |
in40.txt | AC | 2 ms | 384 KB |
in41.txt | AC | 2 ms | 384 KB |
in42.txt | AC | 2 ms | 384 KB |
in43.txt | AC | 2 ms | 384 KB |
in44.txt | AC | 2 ms | 384 KB |
in45.txt | AC | 2 ms | 384 KB |
in46.txt | AC | 2 ms | 384 KB |
in47.txt | AC | 2 ms | 384 KB |
in48.txt | AC | 2 ms | 384 KB |
in49.txt | AC | 2 ms | 384 KB |
in5.txt | AC | 2 ms | 384 KB |
in50.txt | AC | 2 ms | 384 KB |
in6.txt | AC | 2 ms | 384 KB |
in7.txt | AC | 2 ms | 384 KB |
in8.txt | AC | 2 ms | 384 KB |
in9.txt | AC | 2 ms | 384 KB |
sample1.txt | AC | 1 ms | 256 KB |
sample2.txt | AC | 1 ms | 256 KB |
sample3.txt | AC | 1 ms | 256 KB |