Submission #95070

# Submission time Handle Problem Language Result Execution time Memory
95070 2019-01-27T07:43:00 Z ImaniAm Bitaro’s Party (JOI18_bitaro) C++14
7 / 100
820 ms 525312 KB
#include <bits/stdc++.h>

using namespace std;

#define pb push_back

typedef pair <int, int> pii;

const int maxn = 1e5 + 10, maxm = 2e5 + 10, sq = 320;
int n, m, q, size[maxn], h[maxn], input[maxn];
vector <pii> mx[maxn], vec;
vector <int> in[maxn];
bitset <maxn> mark;

bool cmp(const pii &p1, const pii &p2) {
	return p1 > p2;
}

int main(){
	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
	cin >> n >> m >> q;
	for (int i = 0, v, u; i < m; ++i) {
		cin >> v >> u;
		in[--u].pb(--v);
		mx[i].reserve(sq);
	}
	vec.resize(sq + sq);
	for (int i = 0; i < n; ++i) {
		mx[i].pb({-1, i});
		for (auto j: in[i]) {
			int se = mx[i].size(), se2 = mx[j].size();
			vec.resize(se + se2);
			merge(mx[i].begin(), mx[i].end(), mx[j].begin(), mx[j].end(), vec.begin(), cmp);
			if (int(vec.size()) > sq)
				vec.resize(sq);
			mx[i].swap(vec);
		}
		size[i] = mx[i].size();
		for (int j = 0; j < size[i]; ++j)
			mx[i][j].first++;
	}
	for (int i = 0, v, num; i < q; ++i) {
		cin >> v >> num; --v;
		for (int j = 0; j < num; ++j) {
			cin >> input[j];
			mark[--input[j]] = true;
		}
		int ans = -1;
		for (int j = 0; j < size[v]; ++j)
			if (!mark[mx[v][j].second]) {
				ans = mx[v][j].first;
				break;
			}
		if (ans == -1) {
			memset(h, -63, sizeof(h));
			h[v] = 0;
			for (int j = v; ~j; --j) {
				if (!mark[j])
					ans = max(ans, h[j]);
				for (auto u: in[j])
					h[u] = max(h[u], h[j] + 1);
			}
		}
		cout << ans << '\n';
		for (int j = 0; j < num; ++j)
			mark[input[j]] = false;
	}
	return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 6 ms 4988 KB Output is correct
2 Correct 5 ms 5496 KB Output is correct
3 Correct 6 ms 5496 KB Output is correct
4 Correct 5 ms 5496 KB Output is correct
5 Correct 15 ms 11640 KB Output is correct
6 Correct 14 ms 11384 KB Output is correct
7 Correct 12 ms 11384 KB Output is correct
8 Correct 17 ms 13888 KB Output is correct
9 Correct 17 ms 13816 KB Output is correct
10 Correct 16 ms 14204 KB Output is correct
11 Correct 15 ms 13560 KB Output is correct
12 Correct 14 ms 12116 KB Output is correct
13 Correct 16 ms 14044 KB Output is correct
14 Correct 13 ms 11896 KB Output is correct
15 Correct 11 ms 10872 KB Output is correct
16 Correct 12 ms 11512 KB Output is correct
17 Correct 15 ms 12152 KB Output is correct
18 Correct 13 ms 11128 KB Output is correct
19 Correct 15 ms 12664 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 6 ms 4988 KB Output is correct
2 Correct 5 ms 5496 KB Output is correct
3 Correct 6 ms 5496 KB Output is correct
4 Correct 5 ms 5496 KB Output is correct
5 Correct 15 ms 11640 KB Output is correct
6 Correct 14 ms 11384 KB Output is correct
7 Correct 12 ms 11384 KB Output is correct
8 Correct 17 ms 13888 KB Output is correct
9 Correct 17 ms 13816 KB Output is correct
10 Correct 16 ms 14204 KB Output is correct
11 Correct 15 ms 13560 KB Output is correct
12 Correct 14 ms 12116 KB Output is correct
13 Correct 16 ms 14044 KB Output is correct
14 Correct 13 ms 11896 KB Output is correct
15 Correct 11 ms 10872 KB Output is correct
16 Correct 12 ms 11512 KB Output is correct
17 Correct 15 ms 12152 KB Output is correct
18 Correct 13 ms 11128 KB Output is correct
19 Correct 15 ms 12664 KB Output is correct
20 Runtime error 820 ms 525312 KB Execution killed with signal 11 (could be triggered by violating memory limits)
21 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 6 ms 4988 KB Output is correct
2 Correct 5 ms 5496 KB Output is correct
3 Correct 6 ms 5496 KB Output is correct
4 Correct 5 ms 5496 KB Output is correct
5 Correct 15 ms 11640 KB Output is correct
6 Correct 14 ms 11384 KB Output is correct
7 Correct 12 ms 11384 KB Output is correct
8 Correct 17 ms 13888 KB Output is correct
9 Correct 17 ms 13816 KB Output is correct
10 Correct 16 ms 14204 KB Output is correct
11 Correct 15 ms 13560 KB Output is correct
12 Correct 14 ms 12116 KB Output is correct
13 Correct 16 ms 14044 KB Output is correct
14 Correct 13 ms 11896 KB Output is correct
15 Correct 11 ms 10872 KB Output is correct
16 Correct 12 ms 11512 KB Output is correct
17 Correct 15 ms 12152 KB Output is correct
18 Correct 13 ms 11128 KB Output is correct
19 Correct 15 ms 12664 KB Output is correct
20 Runtime error 820 ms 525312 KB Execution killed with signal 11 (could be triggered by violating memory limits)
21 Halted 0 ms 0 KB -