답안 #886542

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
886542 2023-12-12T09:52:19 Z vjudge1 Gym Badges (NOI22_gymbadges) C++17
컴파일 오류
0 ms 0 KB
#include <bits/stdc++.h>
using namespace std;
#define tol(bi) (1ll<<((int)(bi)))
int main(){
	int n;
	cin>>n;
	vector<pair<int,int>> arr(n);
	for (int i = 0; i < n; ++i)
	{
		cin>>arr[i].second;
	}
	for (int i = 0; i < n; ++i)
	{
		cin>>arr[i].first;
	}
	//sort(arr.begin(), arr.end(), [&](pair<int,int> a, pair<int,int> b){
	//	return (a.first+a.second)<(b.first+b.second);
	//});
	vector<int> val(n+1,-1);
	val[0]=0;
	for (int i = 0; i < n; i++){
		//int upd = 0;
		for (int j = n-1; j >= 0; j--){
			if (val[j]==-1) continue;
			if (val[j]<=arr[i].first){
				if (val[j+1]==-1 || val[j+1]>val[j]+arr[i].second)upd++;
				if (val[j+1]==-1) val[j+1]=val[j]+arr[i].second;
				val[j+1]=min(val[j+1],val[j]+arr[i].second);
			}
		}
		//cout<<upd<<endl;
	}
	for (int i = n; i >= 0; i--){
		if (val[i]!=-1){
			cout<<i<<endl;
			break;
		}
	}
}

Compilation message

Main.cpp: In function 'int main()':
Main.cpp:26:55: error: 'upd' was not declared in this scope
   26 |     if (val[j+1]==-1 || val[j+1]>val[j]+arr[i].second)upd++;
      |                                                       ^~~