1 条题解
-
0
#include<bits/stdc++.h> using namespace std; const int N=110,M=1e6+10; int n,m,A[N],B[N]; unsigned long long C[M], ans[M]; void calc() { memset(C,0,sizeof(C));for(int i=0;i<=A[1]*B[1];i+=A[1])C[i]=1; for(int k=2;k<=n;k++) { memset(ans,0,sizeof(ans)); for(int i=0;i<=m;i++) for(int j=0;j<=A[k]*B[k] && (i+j<=m);j+=A[k]) ans[i+j]+=C[i]; memcpy(C,ans,sizeof(ans)); } int x=0;while(C[x])x++; printf("%d\n",x); } int main() { scanf("%d",&n);m=0; for(int i=1;i<=n;i++)scanf("%d%d", &A[i], &B[i]),m+=B[i]*A[i]; calc(); return 0; }
- 1
信息
- ID
- 502
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 7
- 标签
- 递交数
- 127
- 已通过
- 29
- 上传者