1 条题解
-
1
#include<bits/stdc++.h> #define rep(i,a,b) for(int i=a;i<=b;i++) #define pre(i,a,b) for(int i=a;i>=b;i--) #define N 30005 using namespace std; int n,f[2][N]; int main(){ scanf("%d",&n); memset(f,0x3f,sizeof(f)); f[0][0]=0; int s=0; rep(op,1,n){ int cur=op&1; int pre=cur^1; memset(f[cur],0x3f,sizeof(f[cur])); int x,y,z;scanf("%d%d%d",&x,&y,&z); s+=max(x,max(y,z)); rep(i,0,s){ if(y)f[cur][i]=min(f[cur][i],f[pre][i]+y); if(x&&i>=x)f[cur][i]=min(f[cur][i],f[pre][i-x]); if(z&&i>=z)f[cur][i]=min(f[cur][i],f[pre][i-z]+z); } } int ans=0x7fffffff; rep(i,0,s)ans=min(ans,max(i,f[n&1][i])); printf("%d\n",ans); return 0; }
- 1
信息
- ID
- 1222
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- (无)
- 递交数
- 7
- 已通过
- 4
- 上传者