紧急求助 本地一切正常 为什么测评机上输出0??

P1064 [NOIP2006 提高组] 金明的预算方案

SiTer @ 2015-10-16 21:01:31

#include <cstdio>
#include <iostream>
using namespace std;
int cost[10000][5],value[10000][5],ans[10000],N,M; 
int vmax(int a,int b,int c,int d,int e)
{
    int temp=a;
    if(b>temp) temp=b;
    if(c>temp) temp=c;
    if(d>temp) temp=d;
    if(e>temp) temp=e;
}
int main()
{
//    freopen("test.in","r",stdin);
    cin>>M>>N;
    for(int i=1;i<=N;i++)
    {
        int tc,tv,tf;
        cin>>tc>>tv>>tf;
        if(!tf)
        {
            cost[i][0]=tc;
            value[i][0]=tv*tc;    
        }
        if(!cost[tf][1]) 
        {
            cost[tf][1]=tc;
            value[tf][1]=tv*tc;    
        }
        else
        {
            cost[tf][2]=tc;
            value[tf][2]=tv*tc;    
        }
    }
    for(int i=1;i<=N;i++)
        for(int k=M;k>=cost[i][0];k--)
                ans[k]=vmax(ans[k],

ans[k-cost[i][0]]+value[i][0], ans[k-cost[i][0]-cost[i][1]]+value[i][0]+value[i][1],

ans[k-cost[i][0]-cost[i][2]]+value[i][0]+value[i][2],

ans[k-cost[i][0]-cost[i][1]-cost[i][2]]+value[i][0]+value[i][1]+value[i][2]

            );

cout<<ans[M];

} 代码如上 这题在我本地所有答案都是能过的 问题是怎么跑到OJ的测评机上就只会输出0?


by _Rainlzy @ 2020-03-27 12:06:28

@code_universe 好的。


上一页 |