1189F - Array Beauty - CodeForces Solution


dp *2500

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>
using namespace std;
namespace Raiden
{
    const int N = 1002;
    const int mod = 998244353;
    int n, k, a[N];
    int  dp[N][N], ans;
    int  solve(const int x)
    {
        int u = 0;
        dp[0][0] = 1;
        for (int i = 1; i <= n; i++)
        {
            while (a[i] - a[u + 1] >= x)
                u++;
            dp[i][0] = 1;
            for (int j = 1; j <= k; j++)
                dp[i][j] = (dp[i - 1][j] + dp[u][j - 1]) % mod;
        }
        return dp[n][k];
    }
    signed work()
    {
        cin >> n >> k;
        for (int i = 1; i <= n; i++)
            cin >> a[i];
        sort(a + 1, a + n + 1);
        for (int i = 1; i * (k - 1) <= a[n]; i++)
            ans = (ans + solve(i)) % mod;
        cout << ans << endl;
        return 0;
    }
}
signed main()
{
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    return Raiden::work();
}
			 	 		  			 					       	  		


Comments

Submit
0 Comments
More Questions

1143B - Nirvana
1285A - Mezo Playing Zoma
919B - Perfect Number
894A - QAQ
1551A - Polycarp and Coins
313A - Ilya and Bank Account
1469A - Regular Bracket Sequence
919C - Seat Arrangements
1634A - Reverse and Concatenate
1619C - Wrong Addition
1437A - Marketing Scheme
1473B - String LCM
1374A - Required Remainder
1265E - Beautiful Mirrors
1296A - Array with Odd Sum
1385A - Three Pairwise Maximums
911A - Nearest Minimums
102B - Sum of Digits
707A - Brain's Photos
1331B - Limericks
305B - Continued Fractions
1165B - Polycarp Training
1646C - Factorials and Powers of Two
596A - Wilbur and Swimming Pool
1462B - Last Year's Substring
1608B - Build the Permutation
1505A - Is it rated - 2
169A - Chores
765A - Neverending competitions
1303A - Erasing Zeroes