제출 #502793

#제출 시각아이디문제언어결과실행 시간메모리
502793tmn2005Biochips (IZhO12_biochips)C++17
0 / 100
258 ms524292 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define pii pair<int,int> #define OK puts("OK"); #define NO puts("NO"); #define YES puts("YES"); #define fr first #define sc second #define ret return #define scan1(a) scanf("%lld",&a); #define scan2(a,b) scanf("%lld %lld",&a, &b); #define scan3(a,b,c) scanf("%lld %lld %lld",&a,&b,&c); #define all(s) s.begin(),s.end() #define allr(s) s.rbegin(),s.rend() #define pb push_back #define sz(v) (int)v.size() #define endi puts(""); const int N = 1e6+12,INF=1e9+7; vector <int> g[N]; int l[N],cnt=1,n,m,w[N],ves[N],dp[200001][501]; void dfs(int x){ int t = cnt,i; for (i=0;i<g[x].size();++i){ dfs(g[x][i]); } ves[cnt]=w[x]; l[cnt++]=t; } main(){ int s=0,i,j; cin>>n>>m; for (i=1;i<=n;++i){ int a,b; cin>>a>>b; w[i]=b; if (a) g[a].pb(i); else s = i; } dfs(s); for(int i = 0; i <= n; ++i) for(int j = 1; j <= m; ++j) dp[i][j] = -INF; for (i=1;i<=n;++i){ for (j=1;j<=m;++j){ dp[i][j] = max(dp[i-1][j],dp[l[i]-1][j-1]+ves[i]); } } cout <<dp[n][m]; }

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

biochips.cpp: In function 'void dfs(long long int)':
biochips.cpp:24:15: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   24 |     for (i=0;i<g[x].size();++i){
      |              ~^~~~~~~~~~~~
biochips.cpp: At global scope:
biochips.cpp:33:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   33 | main(){
      | ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...