Submission #125510

# Submission time Handle Problem Language Result Execution time Memory
125510 2019-07-05T14:39:59 Z hugo_pm Bitaro’s Party (JOI18_bitaro) C++17
7 / 100
1680 ms 524288 KB
#include <bits/stdc++.h>
using namespace std;

#define int long long
#define form2(i, a, b) for (int i = (a); i < (b); ++i)
#define ford2(i, a, b) for (int i = (a-1); i >= (b); --i)
#define form(i, n) form2(i, 0, n)
#define ford(i, n) ford2(i, n, 0)

#define chmax(x, v) x = max(x, (v))
#define chmin(x, v) x = min(x, (v))
#define fi first
#define se second

const long long BIG = 1000000000000000000LL;

typedef long long ll;
typedef long double ld;
typedef pair<int, int> pii;

void solve();
signed main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	solve();
	return 0;
}

const int borne = (int)(1e5) + 5;
const int lowCte = 340;
const int highCte = 350;

vector<int> revAdj[borne];
vector<pii> meil[borne];

int nbVilles, nbCan, nbReq;

int sk[borne];
int tps = 0;

int dp[borne];

void solve()
{
	cin >> nbVilles >> nbCan >> nbReq;
	form(i, nbCan) {
		int u, v; cin >> u >> v; --u; --v;
		revAdj[v].push_back(u);
	}

	form(i, nbVilles) {
		meil[i].push_back({0, i});
		for (int vo : revAdj[i]) {
			for (auto tr : meil[vo]) {
				meil[i].push_back({tr.fi+1, tr.se});
			}
		}
		sort(meil[i].begin(), meil[i].end());
		reverse(meil[i].begin(), meil[i].end());
		int da = max(0LL, (int)(meil[i].size()) - highCte);
		form(ii, da) meil[i].pop_back();
	}

	form(i, nbReq) {
		int villeArr; cin >> villeArr; --villeArr;
		++tps;
		int nbSkips; cin >> nbSkips;
		form(iRcp, nbSkips) { int x; cin >> x; --x; sk[x] = tps; }
		if (nbSkips < lowCte) {
			bool ff = false;
			for (auto tr : meil[villeArr]) {
				if (sk[tr.se] != tps) {
					cout << tr.fi << "\n";
					ff = true;
					break;
				}
			}
			if (!ff) cout << "-1\n";
		} else {
			form(pos, villeArr+1) {
				dp[pos] = 0;
				for (int vo : revAdj[pos]) if (dp[vo] > 0 || sk[vo] != tps) chmax(dp[pos], dp[vo]+1);
			}
			if (dp[villeArr] == 0 && sk[villeArr] == tps) dp[villeArr] = -1;
			cout << dp[villeArr] << "\n";
		}
	}
}
# Verdict Execution time Memory Grader output
1 Correct 6 ms 5112 KB Output is correct
2 Correct 6 ms 4988 KB Output is correct
3 Correct 7 ms 4984 KB Output is correct
4 Correct 6 ms 4984 KB Output is correct
5 Correct 28 ms 11768 KB Output is correct
6 Correct 24 ms 10616 KB Output is correct
7 Correct 25 ms 10600 KB Output is correct
8 Correct 42 ms 19576 KB Output is correct
9 Correct 41 ms 19908 KB Output is correct
10 Correct 43 ms 19576 KB Output is correct
11 Correct 40 ms 18552 KB Output is correct
12 Correct 28 ms 12408 KB Output is correct
13 Correct 42 ms 18936 KB Output is correct
14 Correct 38 ms 12636 KB Output is correct
15 Correct 21 ms 9044 KB Output is correct
16 Correct 35 ms 12152 KB Output is correct
17 Correct 35 ms 15484 KB Output is correct
18 Correct 23 ms 10120 KB Output is correct
19 Correct 35 ms 15480 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 6 ms 5112 KB Output is correct
2 Correct 6 ms 4988 KB Output is correct
3 Correct 7 ms 4984 KB Output is correct
4 Correct 6 ms 4984 KB Output is correct
5 Correct 28 ms 11768 KB Output is correct
6 Correct 24 ms 10616 KB Output is correct
7 Correct 25 ms 10600 KB Output is correct
8 Correct 42 ms 19576 KB Output is correct
9 Correct 41 ms 19908 KB Output is correct
10 Correct 43 ms 19576 KB Output is correct
11 Correct 40 ms 18552 KB Output is correct
12 Correct 28 ms 12408 KB Output is correct
13 Correct 42 ms 18936 KB Output is correct
14 Correct 38 ms 12636 KB Output is correct
15 Correct 21 ms 9044 KB Output is correct
16 Correct 35 ms 12152 KB Output is correct
17 Correct 35 ms 15484 KB Output is correct
18 Correct 23 ms 10120 KB Output is correct
19 Correct 35 ms 15480 KB Output is correct
20 Runtime error 1680 ms 524288 KB Execution killed with signal 9 (could be triggered by violating memory limits)
21 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 6 ms 5112 KB Output is correct
2 Correct 6 ms 4988 KB Output is correct
3 Correct 7 ms 4984 KB Output is correct
4 Correct 6 ms 4984 KB Output is correct
5 Correct 28 ms 11768 KB Output is correct
6 Correct 24 ms 10616 KB Output is correct
7 Correct 25 ms 10600 KB Output is correct
8 Correct 42 ms 19576 KB Output is correct
9 Correct 41 ms 19908 KB Output is correct
10 Correct 43 ms 19576 KB Output is correct
11 Correct 40 ms 18552 KB Output is correct
12 Correct 28 ms 12408 KB Output is correct
13 Correct 42 ms 18936 KB Output is correct
14 Correct 38 ms 12636 KB Output is correct
15 Correct 21 ms 9044 KB Output is correct
16 Correct 35 ms 12152 KB Output is correct
17 Correct 35 ms 15484 KB Output is correct
18 Correct 23 ms 10120 KB Output is correct
19 Correct 35 ms 15480 KB Output is correct
20 Runtime error 1680 ms 524288 KB Execution killed with signal 9 (could be triggered by violating memory limits)
21 Halted 0 ms 0 KB -