Submission #1103525

#TimeUsernameProblemLanguageResultExecution timeMemory
1103525stdfloatMoney (IZhO17_money)C++17
0 / 100
1 ms336 KiB
#include <bits/stdc++.h> using namespace std; #define ff first #define ss second #define pii pair<int, int> #define sz(v) (int)(v).size() #define all(v) (v).begin(), (v).end() int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n; cin >> n; vector<int> a(n); for (auto &i : a) { cin >> i; i--; } assert(n != 1); int mn = INT_MAX; for (int mk = 0; mk < 1 << (n - 1); mk++) { vector<pii> v; bool tr = true; int pre = -1, cnt = 0; for (int i = 0; i < n && tr; i++) { if (i != n - 1 && !((mk >> i) & 1)) continue; for (int j = pre + 1; j < i && tr; j++) { tr = (a[j] < a[j + 1]); v.push_back({a[j], a[j + 1]}); } cnt++; pre = i; } if (!tr) continue; sort(all(v)); set<int> s = {INT_MAX}; for (auto i : v) { if (*s.upper_bound(i.ff) < i.ss) { tr = false; break; } s.insert(i.ss); } if (tr) mn = min(mn, cnt); } cout << mn; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...