Submission #863333

# Submission time Handle Problem Language Result Execution time Memory
863333 2023-10-20T04:47:33 Z maks007 Paths (BOI18_paths) C++14
23 / 100
3000 ms 7792 KB
// Bismi Allah
#include "bits/stdc++.h"

using namespace std;

#define int long long

signed main () {
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);
	int n, m, k, ans = 0;
	cin >> n >> m >> k;
	vector <int> color(n), g[n], used(n);
	set <int> colorUsed;
	function <void(int)> dfs=[&](int v) {
		//if(colorUsed.size() > 1)
			ans ++;
		used[v] = 1;
		colorUsed.insert(color[v]);
		for(auto u : g[v] ) {
			if(!used[u] && colorUsed.count(color[u]) == 0) dfs(u);
		}
		used[v]=0;
		colorUsed.erase(color[v]);
	};
	
	for(int i = 0; i < n; i ++) cin >> color[i];
	for(int i = 0; i < m; i ++) {
		int u, v;
		cin >> u >> v;
		u --, v --;
		g[u].push_back(v);
		g[v].push_back(u);
	}
	//cout << "\n";
	/*for(int firstColor = 1; firstColor <= k; firstColor ++) {
		for(int i = 0; i < n; i ++) {
			if(color[i] == firstColor) {
				assert(colorUsed.size() == 0);
				//cout << i << " " << color[i] << "\n";
				assert(count(used.begin(), used.end(), 1) == 0);
				dfs(i);
				for(int j = 0; j < used.size(); j ++) used[j]=0;
				//colorUsed.clear();
			}
		}
	}
	cout << ans;*/
	for(int i = 0; i < n; i ++) {
		dfs(i);
	}
	cout << ans - n;
	return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Correct 0 ms 504 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 344 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 1 ms 708 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 1 ms 500 KB Output is correct
10 Correct 0 ms 456 KB Output is correct
# Verdict Execution time Memory Grader output
1 Execution timed out 3043 ms 7792 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Correct 0 ms 504 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 344 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 1 ms 708 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 1 ms 500 KB Output is correct
10 Correct 0 ms 456 KB Output is correct
11 Execution timed out 3043 ms 7792 KB Time limit exceeded
12 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Execution timed out 3055 ms 2652 KB Time limit exceeded
3 Halted 0 ms 0 KB -