Submission #1197688

#TimeUsernameProblemLanguageResultExecution timeMemory
1197688veehzBikeparking (EGOI24_bikeparking)C++20
0 / 100
120 ms15640 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; #define pb push_back void solve() { int n; cin >> n; vector<int> slot; set<int> ppl; for(int i=0,k;i<n;i++) { cin >> k; if(k) slot.push_back(i); } for(int i=0,k;i<n;i++) { cin >> k; if(k) ppl.insert(i); } // cout << "slot: "; // for(auto s : slot) cout << s << ' '; // cout << endl; // cout << "ppl: "; // for(auto s : ppl) cout << s << ' '; // cout << endl; vector<bool> filled(slot.size()); int ans = 0; for(int i=0;i<(int)slot.size();i++){ auto ptr = ppl.upper_bound(slot[i]); if(ptr != ppl.end()) { ans++; filled[i] = true; // cout << "fill " << slot[i] << " with " << *ptr << endl; ppl.erase(ptr); } } for(int i=0;i<(int)slot.size();i++){ if(filled[i]) continue; if(ppl.count(slot[i])) { ppl.erase(slot[i]); filled[i] = true; } } cout << ans - ppl.size() << endl; } int main(){ int tc = 1; while(tc--) solve(); }
#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...