请问为什么第八个点wa了,其他都ac了

P1208 [USACO1.3] 混合牛奶 Mixing Milk

第二个if改成else 或者else if
by Karlis @ 2018-08-03 15:03:26


@[Karlis](/space/show?uid=70064) 貌似没什么用吧(逃
by TianZ @ 2018-08-03 15:16:03


@[TelFaded](/space/show?uid=108379) 我觉得您可以搞个long long
by TianZ @ 2018-08-03 15:16:50


献上我的代码: ```cpp #include<bits/stdc++.h> using namespace std; long long n,m,pi[5005],ai[5005],total; int main(){ cin>>n>>m; for(int i=1;i<=m;i++) cin>>pi[i]>>ai[i]; for(int i=1;i<m;i++){ for(int j=i+1;j<=m;j++){ if(pi[i]>pi[j])swap(pi[i],pi[j]),swap(ai[i],ai[j]); } } for(int i=1;i<=m;i++){ if(n>ai[i]){total+=ai[i]*pi[i];n-=ai[i];} else {total+=n*pi[i];break;} } cout<<total; return 0; } ```
by TianZ @ 2018-08-03 15:17:07


@[天真、陈长生](/space/show?uid=67212) 两个if会重复判断的,改完已A
by Karlis @ 2018-08-03 15:18:38


@[Karlis](/space/show?uid=70064) 两个if条件相反,多判断没什么关系吧?毕竟执行了一个不可能在执行另一个了
by TianZ @ 2018-08-03 15:46:11


@[天真、陈长生](/space/show?uid=67212) 您真的确定“执行了一个不可能在执行另一个了”?
by Karlis @ 2018-08-03 15:49:20


@[Karlis](/space/show?uid=70064) 那么如何两个同时执行呢?同时执行的时候sum+q[i].a到底是>n还是=n还是<n呢?
by TianZ @ 2018-08-03 16:17:50


@[Karlis](/space/show?uid=70064) 自我感觉不用加else(虽然我不知道+else 会不会对)
by TianZ @ 2018-08-03 16:23:11


@[Karlis](/space/show?uid=70064) 咳咳,我好像忘了 >sum=sum+q[i].a,ans=ans+q[i].p*q[i].a;
by TianZ @ 2018-08-03 16:24:21


| 下一页