why?
  • 板块学术版
  • 楼主封禁用户
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/6/27 22:00
  • 上次更新2024/6/28 11:04:38
查看原帖
why?
1346030
封禁用户楼主2024/6/27 22:00
#include <bits/stdc++.h>
#define N 101
#define ll long long
#define P pair<int, int>
#define vi vector<int>
#define vs vector<string>
#define vb vector<bool>
#define vl vector<ll>
#define inf 947483642
#define yes puts("Yes");
#define no puts("No");
#define yesno(ans) cout << (ans ? "Yes" : "No") << endl;
#define sortu(a) sort(a.begin(), a.end());
#define P1 puts("-1");
using namespace std;
const double PI = 3.14;

ll k, n, d;
ll a[N];

int main() {
    scanf("%lld%lld%lld", &n, &k, &d);
    vector dp(k + 1, vl(d, -1));
    dp[0][0] = 0;
    for(int i = 0; i < n; i++){
        ll a;
        cin >> a;
        for(int j = k - 1; j >= 0; j--){
            for(int l = 0; l < d; l++){
                if(dp[j][l] != -1)
                    dp[j + 1][(l + a) % d] = max(dp[j + 1][(l + a) % d], dp[j][l] + a);
            }
        }
    }
    printf("%lld\n", dp[k][0]);
}

这份代码在AtCoder可以AC,但是本地CE?这是这么情况

2024/6/27 22:00
加载中...