Submission #1327130

#TimeUsernameProblemLanguageResultExecution timeMemory
1327130vtnooPower Plant (JOI20_power)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
#define L(i, j, k) for(int i = (j); i <= (k); i++)
#define R(i, j, k) for(int i = (j); i >= (k); i--)
#define all(x) x.begin(), x.end()
#define sz(a) ((int) a.size())
#define pb push_back
#define fst first
#define snd second
using namespace std;
typedef long long ll;
const int MAXN=2e5+5,INF=1e9;
vector<int>adj[MAXN];
bool gen[MAXN],on[MAXN],br[MAXN];
void dfs(int u,int p,vector<int>&nodes){
	if(on[u]&&sz(nodes)>2){
		L(i,1,sz(nodes)-2){
			br[nodes[i]]=true;
		}
	}
	for(auto v:adj[u]){
		if(v==p)continue;
		if(gen[v])nodes.pb(v);
		dfs(v,u,nodes);
		if(gen[v])nodes.pop_back();
	}
}
int main(){
	ios::sync_with_stdio(false); 
	cin.tie(nullptr);
	int n;cin>>n;
	L(i,0,n-2){
		int a,b;cin>>a>>b;
		a--;b--;
		adj[a].pb(b);
		adj[b].pb(a);
	}
	string s;cin>>s;
	vector<int>v;
	L(i,0,n-1)if(s[i]=='1'){
		gen[i]=true;
		v.pb(i);
	}
	int m=sz(v),ans=-INF;
	L(mask,0,(1<<m)-1){
		L(i,0,m-1){
			if((1<<i)&mask){
				on[v[i]]=true;
				root=v[i];
			}
		}
		L(i,0,m-1){
			vector<int>a(1,v[i]);
			if((1<<i)&mask)dfs(v[i],-1,a);
		}
		int cur=0;
		L(i,0,m-1){
			if(br[v[i]])cur--;
			else if(!br[v[i]]&&(1<<i)&mask)cur++;
		}
		ans=max(ans,cur);
		L(i,0,m-1)on[v[i]]=br[v[i]]=false;
	}
	cout<<ans<<endl;
}

Compilation message (stderr)

power.cpp: In function 'int main()':
power.cpp:48:33: error: 'root' was not declared in this scope
   48 |                                 root=v[i];
      |                                 ^~~~