Submission #257114

#TimeUsernameProblemLanguageResultExecution timeMemory
257114islingrSticks (POI11_pat)C++17
21 / 100
222 ms4344 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() { ios::sync_with_stdio(false); cin.tie(nullptr); 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 || s[i].empty()) 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 || s[i].empty()) 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; ++ca; ++cb; ++cc; if (b + c > a) return cout << ca << ' ' << a << ' ' << cb << ' ' << b << ' ' << cc << ' ' << c << '\n', 0; } } cout << "NIE\n"; }
#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...