Submission #286808
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
#define all(c) (c).begin(),(c).end()
#define rrep(i,n) for(int i=(int)(n)-1;i>=0;i--)
#define REP(i,m,n) for(int i=(int)(m);i<(int)(n);i++)
#define rep(i,n) REP(i,0,n)
#define iter(c) __typeof((c).begin())
#define tr(it,c) for(iter(c) it=(c).begin();it!=(c).end();it++)
#define pb(a) push_back(a)
#define pr(a) cout<<(a)<<endl
#define PR(a,b) cout<<(a)<<" "<<(b)<<endl
#define F first
#define S second
#define ll long long
bool check(int n,int m,int x,int y){return (x<0||x>=n||y<0||y>=m)?false:true;}
const ll MAX=1000000007,MAXL=1LL<<60,dx[4]={-1,0,1,0},dy[4]={0,-1,0,1};
typedef pair<int,int> P;
int main() {
int n,s;
cin >> n >> s;
int a[n+1];
rep(i,n) cin >> a[i];
vector<int> v[n+1];
rep(i,n-1) {
int x,y;
cin >> x >> y;
v[x].pb(y);
v[y].pb(x);
}
int p[n+1];
fill(p,p+n+1,-1);
queue<int> que;
que.push(s);
while(!que.empty()) {
int x=que.front();que.pop();
rep(i,v[x].size()) {
int y=v[x][i];
if(p[x]==y) continue;
if(p[y]!=-1) continue;
p[y]=x;
que.push(y);
}
}
bool ck[n+1];
fill(ck,ck+n+1,false);
int ans=0;
rep(i,n) {
if(!a[i]) continue;
int x=i+1;
while(p[x]!=-1) {
if(ck[x]) break;
ans++;
ck[x]=true;
x=p[x];
}
}
pr(ans*2);
return 0;
}
Submission Info
Submission Time |
|
Task |
B - ツリーグラフ |
User |
s1200008 |
Language |
C++ (G++ 4.6.4) |
Score |
100 |
Code Size |
1395 Byte |
Status |
AC |
Exec Time |
23 ms |
Memory |
928 KB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
100 / 100 |
Status |
|
|
Set Name |
Test Cases |
Sample |
subtask0_sample_01.txt, subtask0_sample_02.txt |
All |
subtask0_sample_01.txt, subtask0_sample_02.txt, subtask1_line01.txt, subtask1_line02.txt, subtask1_line03.txt, subtask1_line04.txt, subtask1_line05.txt, subtask1_line06.txt, subtask1_random01.txt, subtask1_random02.txt, subtask1_random03.txt, subtask1_random04.txt, subtask1_random05.txt, subtask1_random06.txt, subtask1_random07.txt, subtask1_random08.txt, subtask1_special01.txt, subtask1_special02.txt, subtask1_special03.txt, subtask1_special04.txt |
Case Name |
Status |
Exec Time |
Memory |
subtask0_sample_01.txt |
AC |
21 ms |
788 KB |
subtask0_sample_02.txt |
AC |
22 ms |
696 KB |
subtask1_line01.txt |
AC |
21 ms |
804 KB |
subtask1_line02.txt |
AC |
22 ms |
788 KB |
subtask1_line03.txt |
AC |
22 ms |
916 KB |
subtask1_line04.txt |
AC |
22 ms |
800 KB |
subtask1_line05.txt |
AC |
23 ms |
924 KB |
subtask1_line06.txt |
AC |
23 ms |
928 KB |
subtask1_random01.txt |
AC |
23 ms |
924 KB |
subtask1_random02.txt |
AC |
22 ms |
804 KB |
subtask1_random03.txt |
AC |
21 ms |
920 KB |
subtask1_random04.txt |
AC |
22 ms |
928 KB |
subtask1_random05.txt |
AC |
22 ms |
744 KB |
subtask1_random06.txt |
AC |
22 ms |
812 KB |
subtask1_random07.txt |
AC |
22 ms |
804 KB |
subtask1_random08.txt |
AC |
22 ms |
808 KB |
subtask1_special01.txt |
AC |
22 ms |
752 KB |
subtask1_special02.txt |
AC |
22 ms |
800 KB |
subtask1_special03.txt |
AC |
22 ms |
924 KB |
subtask1_special04.txt |
AC |
21 ms |
800 KB |