Submission #525375

# Submission time Handle Problem Language Result Execution time Memory
525375 2022-02-11T13:43:44 Z Koosha_mv Designated Cities (JOI19_designated_cities) C++14
16 / 100
374 ms 80068 KB
#include <bits/stdc++.h>
using namespace std;
#define dbgv(v) cout<<#v<<" = "; f(i,0,v.size()) cout<<v[i]<<" "; cout<<endl
#define dbga(a,x,y) cout<<#a<<" = "; f(i,x,y) cout<<a[i]<<" "; cout<<endl
#define erorp(x) cout<<#x<<"={"<<(x.F)<<" , "<<x.S<<"}"<<endl
#define eror(x) cout<<#x<<'='<<(x)<<endl
#define f_(i,a,b) for(int i=a;i>=b;i--)
#define f(i,a,b) for(int i=a;i<b;i++)
#define nb(x) __builtin_popcount(x)
#define all(v) v.begin(),v.end()
#define bit(n,k) (((n)>>(k))&1)
#define Add(x,y) x=(x+y)%mod
#define maxm(a,b) a=max(a,b)
#define minm(a,b) a=min(a,b)
#define lst(x) x[x.size()-1]
#define sz(x) int(x.size())
#define mp make_pair
#define ll long long
#define pb push_back
#define S second
#define F first
#define int ll

const int N=1e6+99,inf=1e15;

int n,t,rt,X,Y,q,to[N],w[N],res[N],ans[N],pes[N];
pair<int,int> dp[N];
vector<int> g[N];

void dfs1(int u,int p){
	for(auto id : g[u]){
		int v=to[id];
		if(v==p) continue ;
		res[rt]+=w[id];
		dfs1(v,u);
	}
}
void dfs2(int u,int p){
	vector<pair<int,int> > vec(3);
	for(auto id : g[u]){
		int v=to[id];
		if(v==p) continue ;
		res[v]=res[u]-w[id]+w[id^1];
		dfs2(v,u);
		dp[v].F+=w[id];
		vec[0]=dp[v];
		sort(all(vec));
	}
	if(vec[2].S==0){
		dp[u]={0,u};
	}
	else{
		dp[u]=vec[2];
	}
	pes[u]=inf;
	if(vec[1].S!=0 && res[u]-vec[1].F-vec[2].F<ans[2]){
		ans[2]=res[u]-vec[1].F-vec[2].F;
		X=vec[1].S;
		Y=vec[2].S;
	}
	minm(ans[1],res[u]);
}
void find(){
	fill(ans,ans+N,inf);
	rt=1;
	dfs1(rt,0);
	dfs2(rt,0);

}

main(){
	ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);
	cin>>n;
	f(i,1,n){
		int u,v;
		cin>>u>>v>>w[2*i]>>w[2*i+1];
		to[2*i]=v;
		to[2*i+1]=u;
		g[u].pb(2*i);
		g[v].pb(2*i+1);
	}
	if(n==2){
		ans[1]=min(w[2],w[3]);
		cin>>q;
		while(q--){
			int x;
			cin>>x;
			cout<<ans[x]<<'\n';
		}
		exit(0);
	}
	find();

	cin>>q;
	while(q--){
		int x;
		cin>>x;
		cout<<ans[x]<<'\n';
	}
}

Compilation message

designated_cities.cpp:71:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   71 | main(){
      | ^~~~
# Verdict Execution time Memory Grader output
1 Correct 13 ms 23756 KB Output is correct
2 Incorrect 16 ms 31600 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 13 ms 23800 KB Output is correct
2 Correct 269 ms 51420 KB Output is correct
3 Correct 310 ms 75792 KB Output is correct
4 Correct 236 ms 51472 KB Output is correct
5 Correct 233 ms 51388 KB Output is correct
6 Correct 288 ms 54852 KB Output is correct
7 Correct 200 ms 51552 KB Output is correct
8 Correct 324 ms 76624 KB Output is correct
9 Correct 150 ms 51968 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 13 ms 23756 KB Output is correct
2 Correct 244 ms 51524 KB Output is correct
3 Correct 374 ms 80068 KB Output is correct
4 Correct 235 ms 51392 KB Output is correct
5 Correct 247 ms 51452 KB Output is correct
6 Correct 253 ms 55500 KB Output is correct
7 Correct 172 ms 51760 KB Output is correct
8 Correct 305 ms 67332 KB Output is correct
9 Correct 145 ms 51892 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 13 ms 23756 KB Output is correct
2 Incorrect 16 ms 31600 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 13 ms 23800 KB Output is correct
2 Correct 269 ms 51420 KB Output is correct
3 Correct 310 ms 75792 KB Output is correct
4 Correct 236 ms 51472 KB Output is correct
5 Correct 233 ms 51388 KB Output is correct
6 Correct 288 ms 54852 KB Output is correct
7 Correct 200 ms 51552 KB Output is correct
8 Correct 324 ms 76624 KB Output is correct
9 Correct 150 ms 51968 KB Output is correct
10 Correct 13 ms 23756 KB Output is correct
11 Correct 244 ms 51524 KB Output is correct
12 Correct 374 ms 80068 KB Output is correct
13 Correct 235 ms 51392 KB Output is correct
14 Correct 247 ms 51452 KB Output is correct
15 Correct 253 ms 55500 KB Output is correct
16 Correct 172 ms 51760 KB Output is correct
17 Correct 305 ms 67332 KB Output is correct
18 Correct 145 ms 51892 KB Output is correct
19 Correct 13 ms 23756 KB Output is correct
20 Incorrect 258 ms 51404 KB Output isn't correct
21 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 13 ms 23756 KB Output is correct
2 Incorrect 16 ms 31600 KB Output isn't correct
3 Halted 0 ms 0 KB -