A代码为什么比B代码占的内存多呢?
  • 板块P1164 小A点菜
  • 楼主Aa12345FF
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/12/16 15:19
  • 上次更新2023/12/16 16:56:30
查看原帖
A代码为什么比B代码占的内存多呢?
642186
Aa12345FF楼主2023/12/16 15:19

A 代码
35ms / 680.00KB / 292B C++14 (GCC 9) O2

#include<bits/stdc++.h>
using namespace std;
int dp[10001]={1};
int main(){
   int n,m;cin >> n >> m;
   for(int i = 1,u;i <= n;i ++)
   {
       cin>>u;
       for(int j = m;j >= u;j --)
       {
           dp[j] = dp[j] + dp[j- u];
       }
   }
   cout << dp[m];
   return 0;
}

B 代码
33ms / 604.00KB / 690B C++14 (GCC 9) O2

#include<bits/stdc++.h>
using namespace std;
int dp[10005];int arr[105];
int main(){
   int n,m;cin >> n >> m;
   for(int i = 1;i <= n;i ++) cin >> arr[i];
   dp[0] = 1;
   for(int i = 1;i <= n;i ++)
   {
   	for(int j = m;j >= arr[i];j --)
   	{
   		dp[j] = dp[j] + dp[j- arr[i]]; 
   	}
   }
   cout << dp[m];
   return 0;
}
2023/12/16 15:19
加载中...