#40444: c++(2ms, 80KB)研究如何優化,終於稍微好一點


bobobo0413 (Andy)

學校 : 國立臺灣大學
編號 : 252359
來源 : [163.30.63.84]
最後登入時間 :
2024-11-21 13:04:23
f312. 1. 人力分配 -- 2020年10月APCS | From: [114.137.105.195] | 發表日期 : 2024-05-20 21:20

解題想法:輸入跟著題目給的輸入scanf("%d%d%d%d%d%d%d",&a1,&b1,&c1,&a2,&b2,&c2,&n);使用枚舉法從x1=0到x1=n,或許可研究不要枚舉法,也許會更快。根據題目給的公式計算,再取最大值。以下提供C++原始碼:

#include<cstdio>
int main(){
    int a1,a2,b1,b2,c1,c2,n,i,bn,ans=-1000000,x11,x1,x22,x2;
    scanf("%d%d%d%d%d%d%d",&a1,&b1,&c1,&a2,&b2,&c2,&n);
for(i=0;i<=n;i++){
           x1=i;
           x11=x1*x1;
           x2=n-x1;
           x22=x2*x2;
           bn=a1*x11+b1*x1+c1+a2*x22+b2*x2+c2;
    if(ans<bn)
        ans=bn;
}
printf("%d\n",ans);
return 0;
}

 
ZeroJudge Forum