Submission #555622

#TimeUsernameProblemLanguageResultExecution timeMemory
555622Jarif_RahmanFortune Telling 2 (JOI14_fortune_telling2)C++17
0 / 100
4 ms328 KiB
#include <bits/stdc++.h> #define pb push_back #define f first #define sc second using namespace std; typedef long long int ll; typedef string str; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); int n, k; cin >> n >> k; vector<ll> A(n), B(n); vector<pair<ll, int>> T(k); for(int i = 0; i < n; i++) cin >> A[i] >> B[i]; for(int i = 0; i < k; i++) cin >> T[i].f, T[i].sc = i; sort(T.begin(), T.end()); ll ans = 0; for(int i = 0; i < n; i++){ auto it2 = lower_bound(T.begin(), T.end(), make_pair(max(A[i], B[i]), -1)); auto it1 = lower_bound(T.begin(), T.end(), make_pair(min(A[i], B[i]), -1)); int c = T.end()-it2; vector<int> ss; for(auto it = it2; it != T.end(); it++) ss.pb(it->sc); sort(ss.begin(), ss.end()); for(auto it = it1; it != it2; it++){ c+=(ss.end()-lower_bound(ss.begin(), ss.end(), it->sc)+B[i]<A[i]); } ans+=(c%2 == 0? A[i]:B[i]); } cout << ans << "\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...