55002023-07-01 22:56:03AndrosVillanyautĂłcpp17Wrong answer 20/6037ms5024 KiB
#include <iostream>

using namespace std;

int n, m, k;
#define Infi 1000000000
#define maxN 150

long long T[maxN][maxN];//Mennyi kapacitással lehet eljutni i-ből j-be?
long long X[maxN][maxN];
void debug(long long A[maxN][maxN]) {
	for (int i = 1; i <= n; i++)
	{
		for (int j = i + 1; j <= n; j++)
		{
			cout << i << "," << j << "\t" << T[i][j] << endl;
		}
	}
}

void egy_toltessel_tobb(long long A[maxN][maxN]) {

	for (int i = 1; i <= n; i++)
	{
		for (int j = i + 1; j <= n; j++)
		{
			X[i][j] = Infi;//Az elején "resetelem"
			//Ha egy másik élen megyek úgy, hogy töltök ott.
			for (int u = 1; u <= n; u++)
			{
				long long temp = min(X[i][j], max(A[i][u], A[u][j]));
				X[i][j] = temp;
				X[j][i] = temp;
			}
		}
	}
	//Átmásolás
	for (int i = 1; i <= n; i++)
	{
		X[i][i] = 0;
		for (int j = 1; j <= n; j++)
		{
			A[i][j] = X[i][j];
		}
	}
}

int main()
{
	cin >> n >> m >> k;
	//Gráf init
	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= n; j++)
		{
			T[i][j] = Infi;
		}
	}

	//Élek felvevése
	int bal, jobb, hossz;
	for (int i = 0; i < m; i++)
	{
		cin >> bal >> jobb >> hossz;
		T[bal][jobb] = hossz;
		T[jobb][bal] = hossz;
	}

	//Magába 0
	for (int i = 1; i <= n; i++)
	{
		T[i][i] = 0;
	}

	//Legrövidebb utak felépítése fekete mágiával
	for (int k = 1; k <= n; k++)
	{
		for (int i = 1; i <= n; i++)
		{
			for (int j = 1; j <= n; j++) {
				T[i][j] = min(T[i][j], T[i][k] + T[k][j]);
			}
		}
	}
	//Ha egyszer se tud tölteni az autó, akkor a leghosszabb élt meg kell tennie.

	//Ennyiszer lehet azt mondani, hogy még felhasználhatsz egy töltést
	for (int i = 1; i < k; i++)
	{
		egy_toltessel_tobb(T);
	}
	long long a = 0;
	for (int i = 1; i <= n; i++)
	{
		for (int j = i + 1; j <= n; j++)
		{
			a = max(a, T[i][j]);
		}
	}
	cout << a;
}
SubtaskSumTestVerdictTimeMemory
base20/60
1Accepted0/03ms1896 KiB
2Accepted0/017ms2532 KiB
3Wrong answer0/13ms2508 KiB
4Accepted1/13ms2772 KiB
5Accepted1/14ms2896 KiB
6Wrong answer0/24ms3172 KiB
7Accepted2/24ms3248 KiB
8Accepted2/27ms3348 KiB
9Accepted1/13ms3604 KiB
10Wrong answer0/14ms3568 KiB
11Wrong answer0/14ms3804 KiB
12Wrong answer0/28ms4260 KiB
13Wrong answer0/216ms4216 KiB
14Wrong answer0/213ms4212 KiB
15Accepted3/37ms4232 KiB
16Wrong answer0/310ms4232 KiB
17Wrong answer0/23ms4004 KiB
18Wrong answer0/24ms4008 KiB
19Wrong answer0/24ms4008 KiB
20Wrong answer0/24ms4132 KiB
21Accepted2/24ms4460 KiB
22Accepted2/23ms4364 KiB
23Wrong answer0/314ms4964 KiB
24Wrong answer0/318ms4720 KiB
25Wrong answer0/337ms4996 KiB
26Wrong answer0/326ms5024 KiB
27Accepted3/320ms4964 KiB
28Wrong answer0/313ms4916 KiB
29Wrong answer0/39ms4760 KiB
30Accepted3/323ms4760 KiB