Submission #233884

# Submission time Handle Problem Language Result Execution time Memory
233884 2020-05-22T09:28:13 Z anubhavdhar Traffic (IOI10_traffic) C++14
Compilation error
0 ms 0 KB
#include<bits/stdc++.h>

#define ll long long int
#define pb push_back
#define mp make_pair
#define FOR(i,n) for(i=0;i<(n);++i)
#define FORe(i,n) for(i=1;i<=(n);++i)
#define FORr(i,a,b) for(i=(a);i<(b);++i)
#define FORrev(i,n) for(i=(n);i>=0;--i)
#define F0R(i,n) for(int i=0;i<(n);++i)
#define F0Re(i,n) for(int i=1;i<=(n);++i)
#define F0Rr(i,a,b) for(ll i=(a);i<(b);++i)
#define F0Rrev(i,n) for(int i=(n);i>=0;--i)
#define ii pair<ll,ll>
#define vi vector<ll>
#define vii vector<ii>
#define ff first 
#define ss second
#define cd complex<double>
#define vcd vector<cd>
#define ldd long double
#define dbgLine cout<<"Line : "<<__LINE__<<'\n'
#define all(x) (x).begin(),(x).end()

using namespace std;

const short int __PRECISION = 10;

const ll MOD = 1e9+7;
const ll INF = 1e17 + 1101;
const ll LOGN = 17;
const ll MAXN = 1e6+5;
const ll ROOTN = 320;

const ldd PI = acos(-1);
const ldd EPS = 1e-7;

vector<ll> g[MAXN];
ll People[MAXN], dp[MAXN], sum[MAXN], sm;

ll dfs(ll a, ll par)
{
	dp[a] = 0;
	sum[a] = People[a];
	for(ll b : g[a])
		if(b != par)
			dp[a] = max(dp[a], dfs(b, a)), sum[a] += sum[b];
	return dp[a] + People[a];
}



int LocateCenter(int N, int P[], int S[], int D[])
{
	sm = 0;
	F0R(i, N)
		g[i].clear(), People[i] = P[i], sm += P[i];
	F0R(i, N-1)
	{
		g[S[i]].pb(D[i]);
		g[D[i]].pb(S[i]);
	}
	dfs(1, -1);
	ii mx = mp(INF, -1);
	F0R(i, N)
		mx = min(mx, mp(max(dp[i],sm - sum[i]),(ll) i));
	cerr<<mx.ff<<' '<<mx.ss<<'\n';
	return mx.ss;
}

int main()
{
	/*
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	*/
	int N;
	cin>>N;
	int P[N], S[N], D[N];
	F0R(i, N)
		cin>>P[i];
	F0R(i, N-1)
		cin>>S[i]>>D[i];
	cout<<LocateCenter(N, P, S, D);
	return 0;
}

Compilation message

/tmp/ccuzsrhb.o: In function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'
/tmp/ccP0ljVm.o:traffic.cpp:(.text.startup+0x0): first defined here
/tmp/ccuzsrhb.o: In function `main':
grader.cpp:(.text.startup+0xb1): undefined reference to `LocateCentre(int, int*, int*, int*)'
collect2: error: ld returned 1 exit status