제출 #1184934

#제출 시각아이디문제언어결과실행 시간메모리
1184934asli_bgGym Badges (NOI22_gymbadges)C++20
15 / 100
2095 ms8268 KiB
#include <bits/stdc++.h> using namespace std; #define int long long typedef pair<int,int> pii; typedef vector<int> vi; typedef vector<pii> vii; typedef vector<bool> vb; #define fi first #define se second #define pb push_back #define mid (l+r)/2 #define all(x) x.begin(),x.end() #define FOR(i,a) for(int i=0;i<(a);i++) #define FORE(i,a,b) for(int i=(a);i<(b);i++) #define cont(x) for(auto el:x) cout<<el<<' ';cout<<endl; #define contp(x) for(auto el:x) cout<<el.fi<<'-'<<el.se<<' ';cout<<endl; #define sp <<" "<< #define DEBUG(x) cout<<(#x) sp x<<endl const int INF=1e18; const int MAXN=5e5+5; pii dp[MAXN]; signed main(){ ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n; cin>>n; vii a(n+1); FORE(i,1,n+1) cin>>a[i].fi; FORE(i,1,n+1) cin>>a[i].se; int res=1; for(int mask=0;mask<(1<<n);mask++){ vi vec; for(int bt=0;bt<n;bt++){ if(mask&(1<<bt)) vec.pb(bt+1); } do{ bool f=true; int cur=0; for(auto el:vec){ if(a[el].se<cur){ f=false; break; } cur+=a[el].fi; } if(f) res=max(res,(int) vec.size()); } while(next_permutation(all(vec))); } cout<<res<<endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...