제출 #1114154

#제출 시각아이디문제언어결과실행 시간메모리
11141540pt1mus23바이오칩 (IZhO12_biochips)C++14
0 / 100
337 ms406600 KiB
// el psy congroo #include <bits/stdc++.h> using namespace std; #define int int #define ins insert #define pii pair<int,int> #define pb push_back #define endl '\n' #define putr(x) cout<<x<<endl;return; #define all(x) x.begin(),x.end() const int mod = 1e9 +7, sze = 2e5 +1, inf = LLONG_MAX, LG = 20; vector<int> graph[sze]; int val[sze]; int k; int dp[sze][501]; int mx[sze]; int a,b; void dfs(int node,int par=-1){ a= 0,b; for(auto v:graph[node]){ if(v!=par){ dfs(v,node); b = mx[v]; a=min(a,k); b=min(b,k); for(int i = a;i>=0;i--){ if( (!i) || dp[node][i]){ for(int j= 0;j<=b && ( (i+j)<=k);j++){ if(!(j) || dp[v][j]){ dp[node][i+j]=max(dp[node][i+j],dp[node][i] + dp[v][j]); } } } } a+=b; mx[node]=max(mx[node],a); } } dp[node][1]=max(dp[node][1],val[node]); mx[node]=max(mx[node],(int)1); } void fast(){ int n,p,w; cin>>n>>k; int root =0; for(int i=1;i<=n;i++){ p,w; cin>>p>>w; root|=(!p) * i; if(p!=0){ graph[p].pb(i); graph[i].pb(p); } val[i]=w; } dfs(root); cout<<dp[root][k]<<endl; } signed main(){ // ios::sync_with_stdio(0); // cin.tie(0); // cout.tie(0); int tt = 1; // cin>>tt; while(tt--){ fast(); } return 0; }

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

biochips.cpp:11:45: warning: overflow in conversion from 'long long int' to 'int' changes value from '9223372036854775807' to '-1' [-Woverflow]
   11 | const int mod = 1e9 +7, sze = 2e5 +1, inf = LLONG_MAX, LG = 20;
      |                                             ^~~~~~~~~
biochips.cpp: In function 'void dfs(int, int)':
biochips.cpp:19:11: warning: right operand of comma operator has no effect [-Wunused-value]
   19 |     a= 0,b;
      |           ^
biochips.cpp: In function 'void fast()':
biochips.cpp:48:9: warning: left operand of comma operator has no effect [-Wunused-value]
   48 |         p,w;
      |         ^
biochips.cpp:48:12: warning: right operand of comma operator has no effect [-Wunused-value]
   48 |         p,w;
      |            ^
#Verdict Execution timeMemoryGrader output
Fetching results...