Submission #758246

#TimeUsernameProblemLanguageResultExecution timeMemory
758246vjudge1Money (IZhO17_money)C++17
0 / 100
1 ms212 KiB
#include <bits/stdc++.h> using namespace std; #define int long long const int mxN = 1e6 + 7; int n, arr[mxN]; int rec(int i, vector<vector<int>> vec) { if (i == n) { bool ok = true; set<int> cur; for (int i = 0; i < vec.size() && ok; ++i) { assert(vec[i].size()); auto it1 = cur.upper_bound(vec[i][0]); auto it2 = cur.upper_bound(vec[i].back()); if (it1 != it2) { ok = false; } for (auto x : vec[i]) { cur.insert(x); } } return (ok ? vec.size() : n); } int res = n; if (vec.size() && vec.back().back() <= arr[i]) { vec.back().push_back(arr[i]); res = min(res, rec(i + 1, vec)); vec.back().pop_back(); } vec.push_back({arr[i]}); return min(res, rec(i + 1, vec)); } int32_t main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n; for (int i = 0; i < n; ++i) { cin >> arr[i]; } cout << rec(0, {}); }

Compilation message (stderr)

money.cpp: In function 'long long int rec(long long int, std::vector<std::vector<long long int> >)':
money.cpp:14:27: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::vector<long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 |         for (int i = 0; i < vec.size() && ok; ++i) {
      |                         ~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...