205982026-01-07 18:46:09algoproBányász RPG (40 pont)cpp17Wrong answer 36/4065ms1356 KiB
// UUID: 54b6f00d-978a-4cb3-b3c2-2035fbcac1b1
#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]);
			}
			else
			{
				ketpercesek+=V[i].second;
			}
			
		}
	}
	cout<<ketpercesek+prefix[N];
}
SubtaskSumTestVerdictTimeMemory
base36/40
1Accepted0/01ms512 KiB
2Accepted0/012ms564 KiB
3Accepted2/21ms316 KiB
4Accepted2/21ms316 KiB
5Accepted2/210ms316 KiB
6Accepted2/221ms580 KiB
7Accepted2/23ms420 KiB
8Accepted2/24ms316 KiB
9Accepted3/31ms316 KiB
10Accepted3/31ms324 KiB
11Accepted3/31ms316 KiB
12Accepted3/31ms532 KiB
13Accepted4/42ms400 KiB
14Accepted4/41ms544 KiB
15Wrong answer0/239ms804 KiB
16Accepted2/250ms1192 KiB
17Wrong answer0/243ms836 KiB
18Accepted2/265ms1356 KiB