今天,我在如往常一样打着代码,也就是p2392,我打完了,逻辑上是对的,关键是我输入了样例,他给了一个"4199759",就很无语,打了很久还是没有过样例,我就随便提交了一下,但没想到一件事,就是他居然对了,连样例都不对,却还能100分,我就很疑惑。
下方为代码
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int a[10],num,ans,zy[30],dp[2510];
for(int i=1;i<=4;i++)
{
cin>>a[i];
}
for(int i=1;i<=4;i++)
{
num=0;
for(int j=1;j<=a[i];j++)
{
cin>>zy[j];
num+=zy[j];
}
for(int j=1;j<=a[i];j++)
{
for(int k=num/2;k>=zy[j];k--)
{
dp[k]=max(dp[k],dp[k-zy[j]]+zy[j]);
}
}
ans+=num-dp[num/2];
for(int j=1;j<=num/2;j++)
{
dp[j]=0;
}
}
cout<<ans;
return 0;
}
呵呵,这道题可真简单