99202024-03-18 16:57:49111Pletykacpp17Futási hiba 52/100105ms62848 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long

signed main() {
	ios::sync_with_stdio(0);
	cin.tie(0);
#ifdef CB
	freopen("be2.txt","r",stdin);
//	freopen("out.txt","w",stdout);
#endif
    int N,M,K;
    cin>>N>>M>>K;
    int it=N*2+2;
    vector<int>v(N+1,-1);
    deque<int>q;
    for(int i=0;i<K;i++){
		int a;
		cin>>a;
		v[a]=0;
		q.push_back(a);
    }
    vector<vector<int>>g(N+1);
    for(int i=0;i<M;i++){
		int a,b;
		cin>>a>>b;
		g[a].push_back(b);
		g[b].push_back(a);
    }
    while(!q.empty()){
		int i=q.front();
		q.pop_front();
		for(int j:g[i]){
			if(v[j]==-1){
				v[j]=v[i]+1;
				q.push_back(j);
			}
		}
    }
    vector<vector<int>>d(it);
    vector<int>w(N+1,-1);
    for(int i=0;i<it;i++){
    	d[i].reserve(8);
    }
    for(int i=1;i<=N;i++){
		if(v[i]==-1){
			continue;
		}
		int x=INT_MAX;
		for(int j:g[i]){
			if(v[j]>=v[i]&&v[j]%2==v[i]%2){
				x=min(x,v[j]);
			}
		}
		if(x!=INT_MAX){
			w[i]=x;
			d[x].push_back(i);
		}
    }
    for(int i=0;i<it;i++){
		for(int j:d[i]){
			if(w[j]<i){
				continue;
			}
			for(int k:g[j]){
				if(w[k]==-1||w[k]>i+1){
					w[k]=i+1;
					d[i+1].push_back(k);
				}
			}
		}
    }
    vector<array<int,2>>b(it);
    vector<int>pf(it);
    int e=0;
    for(int i=1;i<=N;i++){
		if(v[i]==-1){
			continue;
		}
		if (g[i].empty()){
			e++;
			continue;
		}
		b[v[i]][v[i]%2]++;
		if(w[i]==-1){
			continue;
		}
		b[w[i]][v[i]%2]--;
		pf[w[i]]++;
    }
    vector<int>ans(it);
    array<int,2>c{};
    for(int i=0;i<it;i++){
		c[0]+=b[i][0]+pf[i];
		c[1]+=b[i][1]+pf[i];
		ans[i]=c[i%2];
    }
    ans[0]+=e;
    int P=max_element(ans.begin(),ans.end())-ans.begin();
    cout<<ans[P]<<'\n';
    cout<<P+1<<'\n';
    for(int i=0;i<=P;i++){
		cout<<ans[i]<<' ';
    }
    cout<<'\n';
	return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base52/100
1Elfogadva0/03ms1832 KiB
2Elfogadva0/029ms22456 KiB
3Elfogadva2/23ms2432 KiB
4Elfogadva2/23ms3296 KiB
5Elfogadva2/24ms4056 KiB
6Elfogadva2/27ms6348 KiB
7Elfogadva4/47ms6448 KiB
8Elfogadva4/412ms9776 KiB
9Elfogadva4/49ms10008 KiB
10Elfogadva4/410ms10200 KiB
11Elfogadva4/428ms24244 KiB
12Elfogadva4/427ms24456 KiB
13Elfogadva4/441ms37664 KiB
14Elfogadva4/443ms37748 KiB
15Elfogadva6/661ms51440 KiB
16Elfogadva6/661ms51004 KiB
17Futási hiba0/679ms62848 KiB
18Futási hiba0/675ms62836 KiB
19Futási hiba0/675ms62808 KiB
20Futási hiba0/676ms62780 KiB
21Futási hiba0/676ms62664 KiB
22Futási hiba0/679ms62660 KiB
23Futási hiba0/6105ms62656 KiB
24Futási hiba0/6105ms62504 KiB