Submission #833371

#TimeUsernameProblemLanguageResultExecution timeMemory
833371vjudge1Exam (eJOI20_exam)C++17
12 / 100
46 ms8512 KiB
#include<bits/stdc++.h> #define ll long long #define endl "\n" #define fi first #define se second #define pb push_back #define pll pair<long long, long long> #define loop(i,n) for(int i=1;i<=n;i++) #define loop0(i,n) for(int i=0;i<n;i++) using namespace std; //pbds template #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace __gnu_pbds; template <class T> using ordered_set = tree<T, null_type, less<T>, rb_tree_tag,tree_order_statistics_node_update>; void solve(){ ll n; map<ll,ll> mp; cin >> n; ll arr[n+5] = {0}; for(int i=1;i<=n;i++){ cin >> arr[i]; mp[arr[i]] = 1; } ll chk; for(int i=1;i<=n;i++){ cin >> chk; } if(!mp.count(chk)){ cout << "0" << endl; return; } priority_queue<ll> pq; ll ans = 0; for(int i=1;i<=n;i++){ // cout << i << ' ' << pq.size() << endl; if(arr[i]>chk){ if(pq.empty()) continue; if(pq.top()==chk) ans += pq.size(); pq = priority_queue<ll>(); } else if(arr[i]<=chk) pq.push(arr[i]); } if(!pq.empty()&&pq.top()==chk){ ans += pq.size(); } cout << ans << endl; } int main(){ ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); int tc = 1; // cin >> tc; 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...
#Verdict Execution timeMemoryGrader output
Fetching results...