Submission #412435

# Submission time Handle Problem Language Result Execution time Memory
412435 2021-05-26T21:42:07 Z SuhaibSawalha1 Comparing Plants (IOI20_plants) C++17
0 / 100
1 ms 204 KB
#include "plants.h"
#include <bits/stdc++.h>
using namespace std;

vector<int> p, bt;

void init(int k, vector<int> r) {
	int n = r.size();
	vector<vector<int>> adj(n);
	vector<int> d(n);
	for (int i = 0; i < n; ++i) {
		if (r[i]) {
			adj[i].push_back((i + 1) % n);
			++d[(i + 1) % n];
		}
		else {
			adj[(i + 1) % n].push_back(i);
			++d[i];
		}
	}
	queue<int> q;
	for (int i = 0; i < n; ++i) {
		if (!d[i]) {
			q.push(i);
		}
	}
	int cnt = 0, tm = 0;
	p.resize(n);
	bt.resize(n);
	while (q.size()) {
		int s = q.size();
		while (s--) {
			int u = q.front();
			bt[u] = tm;
			p[u] = cnt++;
			q.pop();
			for (int v : adj[u]) {
				if (!--d[v]) {
					q.push(v);
				}
			}
		}
		++tm;
	}
}

int compare_plants(int x, int y) {
	return bt[x] == bt[y] ? 0 : p[x] > p[y] ? 1 : -1;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Incorrect 1 ms 204 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Incorrect 1 ms 204 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Incorrect 1 ms 204 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Incorrect 1 ms 204 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Incorrect 1 ms 204 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Incorrect 1 ms 204 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Incorrect 1 ms 204 KB Output isn't correct
5 Halted 0 ms 0 KB -