205952026-01-07 18:41:58algoproBányász RPG (40 pont)cpp17Hibás válasz 22/4065ms1352 KiB
// UUID: 72c942bd-7bd7-47c0-bea8-e10cbf54d553
#include <bits/stdc++.h>
using namespace std;

int main() {
	int N; cin>>N;
	vector<pair<int, int>> V(N);
	for(int i=0; i<N; i++) cin>>V[i].first;
	for(int i=0; i<N; i++) cin>>V[i].second;
	sort(V.begin(), V.end());
	vector<int> prefix(N+1);
	prefix[1]=V[0].second;
	for(int i=1; i<N; i++) prefix[i+1]=prefix[i]+V[i].second;
	int ketpercesek=0;
	for(int i=N-1; i>=0; i--)
	{
		if(V[i].first>ketpercesek+prefix[i])
		{
			if(ketpercesek+prefix[i]+V[i].second>V[i].first)
			ketpercesek+=V[i].first-(ketpercesek+prefix[i]);
		}
	}
	cout<<ketpercesek+prefix[N];
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base22/40
1Elfogadva0/02ms316 KiB
2Elfogadva0/013ms568 KiB
3Elfogadva2/21ms508 KiB
4Hibás válasz0/21ms316 KiB
5Hibás válasz0/210ms496 KiB
6Hibás válasz0/221ms652 KiB
7Hibás válasz0/23ms428 KiB
8Hibás válasz0/24ms332 KiB
9Elfogadva3/31ms316 KiB
10Elfogadva3/31ms316 KiB
11Elfogadva3/31ms316 KiB
12Elfogadva3/31ms316 KiB
13Elfogadva4/42ms316 KiB
14Elfogadva4/41ms508 KiB
15Hibás válasz0/237ms800 KiB
16Hibás válasz0/250ms1188 KiB
17Hibás válasz0/241ms836 KiB
18Hibás válasz0/265ms1352 KiB