为什么我D题只通过了90.91%,求解

#include<bits/stdc++.h>

using namespace std;

typedef long long ll;

int main()

{

ll n, p;

cin >> n >> p;

vector<ll> a(n + 1);

vector<ll> dp(p, 1e18);

for (ll i = 1; i <= n; i++)

{

cin >> a[i];

a[i] %= p;

dp[a[i]] = 1;

for (ll j = 0; j < p; j++)

{

ll la = (j - a[i] + p) % p;

dp[j] = min(dp[j], dp[la] + 1);

}

}

cout << dp[0] << endl;

return 0;

}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务