Submission #257141

#TimeUsernameProblemLanguageResultExecution timeMemory
257141islingrSticks (POI11_pat)C++17
100 / 100
667 ms4496 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];

bool ckmax(auto &a, const auto &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) {
		for (int a : s[ca]) {
			int b = -1, cb, c = -1, cc;
			rep(i, 0, k) {
				if (i == ca) continue;
				auto it = ub(all(s[i]), a);
				if (it == begin(s[i])) continue;
				if (ckmax(b, *prev(it))) cb = i;
			}
			if (b < 0) continue;
			rep(i, 0, k) {
				if (i == ca || i == cb) continue;
				auto it = ub(all(s[i]), b);
				if (it == begin(s[i])) continue;
				if (ckmax(c, *prev(it))) cc = i;
			}
			if (c < 0) continue;
			if (b + c > a) return cout << ++ca << ' ' << a << ' ' << ++cb << ' ' << b << ' ' << ++cc << ' ' << c, 0;
		}
	}
	cout << "NIE";
}

Compilation message (stderr)

pat.cpp: In function 'int main()':
pat.cpp:38:106: warning: 'cc' may be used uninitialized in this function [-Wmaybe-uninitialized]
    if (b + c > a) return cout << ++ca << ' ' << a << ' ' << ++cb << ' ' << b << ' ' << ++cc << ' ' << c, 0;
                                                                                                          ^
pat.cpp:38:106: warning: 'cb' may be used uninitialized in this function [-Wmaybe-uninitialized]
#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...