제출 #160100

#제출 시각아이디문제언어결과실행 시간메모리
160100NordwayDetecting Molecules (IOI16_molecules)C++14
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> #define x first #define y second #define pb push_back #define mp make_pair #define up_b upper_bound #define low_b lower_bound #define sz(x) (int)x.size() #define all(v) v.begin(),v.end() #define nl '\n' #define boost ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0) using namespace std; typedef long long ll; typedef long double ld; typedef pair<int,int> pii; typedef pair<int,ll> pil; typedef pair<ll,int> pli; typedef pair<ll,ll> pll; const ll INF=1e18; const int inf=1e9; const ld eps=1e-7; const ld pi=acos(-1); const int dx[8]={0,0 ,1,-1,1,1,-1,-1}; const int dy[8]={1,-1,0,0,1,-1,1,-1}; const int mod1=998244353; const int mod2=1e9+7; const int N=1e4+1; pii a[N]; vector<int> find_subset(int l,int u,vector<int>w){ int n=0; for(int i=0;i<sz(w);i++){ if(w[i]>u)continue; n++; a[n].x=w[i]; a[n].y=i; } bitset<U+1>dp[n+1]; dp[0]=1; for(int i=1;i<=n;i++){ for(int j=0;j<=u;j++){ if(j>=a[i].x){ dp[i]=dp[i-1]<<a[i].x; } dp[i]|=(dp[i-1]); } } int val=-1; for(int i=l;i<=u;i++){ if(dp[n][i]){ val=i; break; } } vector<int>ans; if(val>0){ while(val>0){ if(val>=a[n].x&&dp[n-1][val-a[n].x]){ ans.pb(a[n].y); val-=a[n].x; n--; } else if(dp[n-1][val]){ n--; } } } return ans; }

컴파일 시 표준 에러 (stderr) 메시지

molecules.cpp: In function 'std::vector<int> find_subset(int, int, std::vector<int>)':
molecules.cpp:44:10: error: 'U' was not declared in this scope
   bitset<U+1>dp[n+1];
          ^
molecules.cpp:44:13: error: template argument 1 is invalid
   bitset<U+1>dp[n+1];
             ^
molecules.cpp:56:15: error: invalid types 'int[int]' for array subscript
     if(dp[n][i]){
               ^
molecules.cpp:64:41: error: invalid types 'int[int]' for array subscript
       if(val>=a[n].x&&dp[n-1][val-a[n].x]){
                                         ^
molecules.cpp:69:26: error: invalid types 'int[int]' for array subscript
       else if(dp[n-1][val]){
                          ^