65分,大佬救命

P1909 [NOIP2016 普及组] 买铅笔

莫慌,Let me see……
by _O__o_ @ 2023-10-02 21:30:12


本蒟蒻来也
by leiwenjin1234 @ 2023-10-02 21:33:05


这题该用枚举算法啊
by leiwenjin1234 @ 2023-10-02 21:35:23


@[leiwenjin1234](/user/921176) 用模拟
by _O__o_ @ 2023-10-02 21:38:06


你这思路好像可以,我改改
by leiwenjin1234 @ 2023-10-02 21:38:23


改好了
by _O__o_ @ 2023-10-02 21:44:54


```cpp #include<bits/stdc++.h> int main() { int num[3], price[3], sum[3]; int n, min; scanf("%d", &n); for (int i = 0; i < 3; i++) { scanf("%d %d", &num[i], &price[i]); if (n % num[i] == 0) { sum[i] = n / num[i] * price[i]; } else { sum[i] = (n / num[i] + 1) * price[i]; } } min =INT_MAX; for (int i = 0; i < 3; i++) { if (min > sum[i]) { min = sum[i]; } } printf("%d", min); return 0; } /* 8668 4 3229 4 8491 4 8026 */ ```
by leiwenjin1234 @ 2023-10-02 21:45:18


改好了+1
by leiwenjin1234 @ 2023-10-02 21:45:43


@[351821lp](/user/1117720) ``` #include<stdio.h> int main(){ int num[3],price[3],sum[3]; int n,min; scanf("%d",&n); for(int i = 0;i < 3;i++){ scanf("%d %d",&num[i],&price[i]); if(n % num[i] == 0) sum[i] = n / num[i] * price[i]; else sum[i] = ( n / num[i] + 1) * price[i]; if(i >= 1) if(sum[i] > sum[i - 1]) sum[i] = sum[i - 1]; } // for(int i = 0;i < 3;i++){ // min = sum[0]; // if(min > sum[i]){ // min = sum[i]; // } // } printf("%d",sum[2]); return 0; } ``` 我把你代码的后面部分合并到前面了,AC,我再去看看你之前的代码为什么AC不了
by _O__o_ @ 2023-10-02 21:47:00


你这个min设的太小了,也设错了,应当放到外面设一个很大的数,比如INT_MAX
by leiwenjin1234 @ 2023-10-02 21:47:49


| 下一页