莫慌,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