Submission #437383

#TimeUsernameProblemLanguageResultExecution timeMemory
437383Manas_For_WFKralj (COCI16_kralj)C++17
56 / 140
811 ms45156 KiB
#include <bits/stdc++.h> using namespace std; #define all(a) (a).begin(), (a).end() #define int long long /* For 40% points: To the current dwarf, assign the weakest elf who can defeat him. If no one can, assign the weakest. For 60% points: Merge small-to-large. */ int32_t main() { cin.tie(0); ios_base::sync_with_stdio(false); int n; cin >> n; vector<int> p(n), a(n), v(n); multiset<int> s; for (int i = 0; i < n; ++i) { cin >> a[i]; --a[i]; assert(a[i] == 0); // 40pts solution } for (int i = 0; i < n; ++i) cin >> p[i]; for (int i = 0; i < n; ++i) cin >> v[i], s.insert(v[i]); int ans = 0; for (int i = 0; i < n; ++i) { auto it = s.lower_bound(p[i]); if (it == s.end()) { s.erase(s.begin()); } else { s.erase(it); ans++; } } cout << ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...