社区讨论
60pts WA求助
P2014[CTSC1997] 选课参与者 4已保存回复 8
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 8 条
- 当前快照
- 1 份
- 快照标识符
- @lo13qjhx
- 此快照首次捕获于
- 2023/10/22 14:42 2 年前
- 此快照最后确认于
- 2023/11/02 14:13 2 年前
求助,WA on #4#5
CPP#include<bits/stdc++.h>
#define int long long
#define N 205
#define inf 0x7fffffff
using namespace std;
inline int read()
{
int n=0,f=1;
char c=getchar();
while(c<'0' || c>'9')
{
if(c=='-') f=-1;
c=getchar();
}
while(c>='0' && c<='9') n=(n<<3)+(n<<1)+(c^48),c=getchar();
return n*f;
}
inline void write(int x)
{
if(x<0) putchar('-'),x=-x;
if(x>9) write(x/10);
putchar(x%10^48);
return;
}
int n,m,a[N],f[N][N];
vector<int>g[N];
inline void dfs(int u)
{
f[u][1]=a[u];
for(auto v:g[u])
{
dfs(v);
for(int w=m;w>0;w--)
{
for(int sw=0;sw<w;sw++)
{
f[u][w]=max(f[u][w],f[v][sw]+f[u][w-sw]);
}
}
}
return;
}
signed main()
{
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
n=read(),m=read(),m++;
int i,j;
for(i=1;i<=n;i++,j++)
{
int v=read();
a[i]=read();
g[v].push_back(i);
}
dfs(0);
write(f[0][m]);
return 0;
}
回复
共 8 条回复,欢迎继续交流。
正在加载回复...