Submission #257127

#TimeUsernameProblemLanguageResultExecution timeMemory
257127islingrSticks (POI11_pat)C++11
21 / 100
700 ms4320 KiB
#include <bits/stdc++.h>
using namespace std;

#define rep(i, a, b) for (auto i = (a); i < (b); ++i)
#define all(x) begin(x), end(x)
#define ub(x...) upper_bound(x)

const int K = 1 << 6;
vector<int> s[K];

template<class T> bool ckmax(T &a, const T &b) { return a < b ? a = b, 1 : 0; }

signed main() {
	int k; cin >> k;
	rep(i, 0, k) {
		int n; cin >> n;
		s[i].resize(n);
		for (auto &x : s[i]) cin >> x;
		sort(all(s[i]));
	}
	rep(ca, 0, k) {
		if (s[ca].empty()) continue;
		for (int a : s[ca]) {
			int b = -1, cb, c = -1, cc;
			rep(i, 0, k) {
				if (i == ca || s[i].empty()) continue;
				auto it = ub(all(s[i]), a);
				if (it == begin(s[i])) continue;
				assert(*prev(it) <= a);
				if (ckmax(b, *prev(it))) cb = i;
			}
			if (b < 0) continue;
			rep(i, 0, k) {
				if (i == ca || i == cb || s[i].empty()) continue;
				auto it = ub(all(s[i]), b);
				if (it == begin(s[i])) continue;
				assert(*prev(it) <= b);
				if (ckmax(c, *prev(it))) cc = i;
			}
			if (c < 0) continue;
			++ca; ++cb; ++cc;
			if (b + c > a) {
				printf("%d %d %d %d %d %d\n", ca, a, cb, b, cc, c);
				return 0;
			}
		}
	}
	printf("NIE\n");
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...