Submission #1158358

#TimeUsernameProblemLanguageResultExecution timeMemory
1158358NurislamFortune Telling 2 (JOI14_fortune_telling2)C++20
4 / 100
3092 ms1752 KiB
#include <bits/stdc++.h>
  
using namespace std;
 
#define int long long

const int N = 2e5+2, inf = 1e18;

void solve(){
	int n, k;
	cin >> n >> k;
	multiset<array<int,3>> st;
	
	for(int i = 0; i < n; i ++ ){
		int a, b; cin >> a >> b;
		st.insert({a, b, i});
	};
	
	
	while(k -- ){
		int x; cin >> x;
		vector<array<int,3>> ad;
		while( st.size() ) {
			auto [a, b, i] = *st.begin();
			if(a > x)break;
			st.erase(st.begin());
			ad.push_back({b, a, i});
		};
		for(auto i : ad)st.insert(i);
	};
	
	int ans = 0;
	for(auto [a, b, i] : st)ans += a;
	
	cout << ans << '\n';
	
}
 
signed main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);cout.tie(nullptr);
    int tt = 1;
    //cin >> tt;
    while(tt--){
        solve();
    };
}

 
 
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...