22 条题解

  • -22
    @ 2023-3-31 19:33:21

    #include <iostream> using namespace std; int n, s[11], b[11], ans = 2000000000; int main() { cin >> n; for (int i = 1; i <= n; i++) cin >> s[i] >> b[i]; for (int i = 1; i < (1 << n); i++) { int sum1 = 1, sum2 = 0; for (int j = 0; j < n; j++) {//我的答案不知道为什么 是说error的 我在其他的软件都可以正确运行的 奇怪了 if (i & (1 << j)) { sum1 *= s[j + 1]; sum2 += b[j + 1]; } }

    ans = min(ans, abs(sum1 - sum2)); } cout << ans;

    return 0; }

  • -23
    @ 2023-4-2 18:54:15

    #include<bits/stdc++.h> using namespace std; int n,s[15],b[15],ans=2000000001; int main(){ cin>>n; for(int i=1;i<=n;i++)cin>>s[i]>>b[i]; for(int i=1;i<(1<<n);i++){ int sum1 = 1,sum2 = 0; for(int j=0;j<n;j++){ if(i&(1<<j)){ sum1*=s[j+1]; sum2+=b[j+1]; } } ans=min(ans,abs(sum1-sum2)); } cout<<ans; return 0; }

信息

ID
51
时间
1000ms
内存
256MiB
难度
5
标签
递交数
3273
已通过
1243
上传者