Submission #1103538

#TimeUsernameProblemLanguageResultExecution timeMemory
1103538stdfloatMoney (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--; } 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; for (int i = 0; i < sz(v) && tr; i++) { for (int j = 0; j < sz(v) && tr; j++) { if ((v[i].ff > v[j].ff || v[j].ss > v[i].ss) && (v[j].ff > v[i].ff || v[i].ss > v[j].ss) && max(v[i].ff, v[j].ff) < min(v[i].ss, v[j].ss)) tr = false; } } if (tr) mn = min(mn, cnt); } assert(mn != INT_MAX); 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...