1301 2022. 04. 09 21:42:27 ZsofiaKeresztely Pletyka cpp14 Hibás válasz 45/100 197ms 26664 KiB
#include <bits/stdc++.h>
using namespace std;
#define mp make_pair

int main() {
	int n, m, k, a, b;
	cin>>n>>m>>k;
	vector<vector<int> > g(n+1);
	vector<vector<bool> > volt(2, vector<bool>(n+1, false));
	vector<vector<int> > tav(2, vector<int>(n+1, 0));
	vector<int> napok(2*n, 0);
	napok[0]=k;
	queue<pair<int, int> > q; //sorszama, paritas
	for (int i=0; i<k; i++)
	{
		cin>>a;
		q.push(mp(a, 0));
		volt[0][a]=true;
	}
	for (int i=0; i<m; i++)
	{
		cin>>a>>b;
		g[a].push_back(b);
		g[b].push_back(a);
	}
	pair<int, int> elso;
	while (!q.empty())
	{
		elso=q.front();
		q.pop();
		for (int x : g[elso.first])
		{
			if (!volt[1-elso.second][x])
			{
				volt[1-elso.second][x]=true;
				q.push(mp(x, 1-elso.second));
				tav[1-elso.second][x]=tav[elso.second][elso.first]+1;
				napok[tav[1-elso.second][x]]++;
			}
		}
	}
	int maxi=0;
	if (napok[1]>napok[maxi])
	{
		maxi=1;
	}
	for (int i=2; i<2*n; i++)
	{
		napok[i]+=napok[i-2];
		if (napok[i]>napok[maxi])
		{
			maxi=i;
		}
	}
	cout<<napok[maxi]<<"\n"<<maxi+1<<"\n";
	for (int i=0; i<=maxi; i++)
	{
		cout<<napok[i]<<" ";
	}
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 45/100
1 Elfogadva 0/0 2ms 1776 KiB
2 Hibás válasz 0/0 30ms 6144 KiB
3 Elfogadva 2/2 1ms 2188 KiB
4 Részben helyes 1/2 2ms 2260 KiB
5 Hibás válasz 0/2 3ms 2472 KiB
6 Hibás válasz 0/2 4ms 2956 KiB
7 Elfogadva 4/4 8ms 3004 KiB
8 Hibás válasz 0/4 16ms 3688 KiB
9 Elfogadva 4/4 8ms 3788 KiB
10 Elfogadva 4/4 8ms 3884 KiB
11 Hibás válasz 0/4 30ms 6968 KiB
12 Elfogadva 4/4 28ms 7300 KiB
13 Részben helyes 2/4 50ms 10708 KiB
14 Hibás válasz 0/4 48ms 11284 KiB
15 Hibás válasz 0/6 81ms 14928 KiB
16 Elfogadva 6/6 71ms 15800 KiB
17 Hibás válasz 0/6 97ms 19616 KiB
18 Elfogadva 6/6 100ms 20648 KiB
19 Elfogadva 6/6 108ms 23148 KiB
20 Hibás válasz 0/6 115ms 24352 KiB
21 Elfogadva 6/6 115ms 25464 KiB
22 Időlimit túllépés 0/6 122ms 26664 KiB
23 Időlimit túllépés 0/6 197ms 22200 KiB
24 Időlimit túllépés 0/6 123ms 23100 KiB