Submission #1231457


Source Code Expand

#include <algorithm>
#include <cmath>
#include <iostream>
#include <map>
#include <queue>
#include <set>
#include <string>
#include <vector>
#define rep(i, n) for (lli i = 0; i < (n); i++)
#define rrep(i, n) for (lli i = (n)-1; i >= 0; i--)
using namespace std;
using lli = long long int;
lli MOD = 1e9 + 7;

bool dp[5100][5510] = {};
int main()
{
    //つまり考えるべきことはi以外でもっともSに近いものを作るてその総和+a_iがKを超えれば不必要ではない
    //これはk>=a_i + S つまり(k-a_i)<=s&&s<kなるsの存在判定
    //iで毎回dpすればn^2kで部分点
    lli n, k;

    lli a[100005];
    cin >> n >> k;
    rep(i, n) cin >> a[i];
    sort(a, a + n);
    int cnt = 0;
    int u = n;
    int L = 0;
    while (u - L > 1) {
        rep(i, 5100) rep(j, 5510) dp[i][j] = false;
        int i = (u + L) / 2;
        dp[0][0] = true;
        rep(j, n) rep(l, k)
        {
            if (dp[j][l])
                dp[j + 1][l] = true;
            if (i == j)
                continue;
            if (dp[j][l] && a[j] + l < k) {
                dp[j + 1][a[j] + l] = true;
            }
        }
        bool flag = false;
        rrep(l, k)
        {
            if (dp[n][l]) {
                if (l + a[i] >= k) {
                    flag = true;
                    u = i;
                    break;
                }
            }
        }
        if (!flag)
            L = i;
    }
    cout << u << endl;
}

Submission Info

Submission Time
Task D - No Need
User uenoku
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1529 Byte
Status WA
Exec Time 684 ms
Memory 27776 KB

Judge Result

Set Name Sample Subtask All
Score / Max Score 0 / 0 0 / 300 0 / 300
Status
AC × 3
AC × 10
WA × 16
AC × 20
WA × 31
Set Name Test Cases
Sample 0_000.txt, 0_001.txt, 0_002.txt
Subtask 0_000.txt, 0_001.txt, 0_002.txt, 1_003.txt, 1_004.txt, 1_005.txt, 1_006.txt, 1_007.txt, 1_008.txt, 1_009.txt, 1_010.txt, 1_011.txt, 1_012.txt, 1_013.txt, 1_014.txt, 1_015.txt, 1_016.txt, 1_017.txt, 1_018.txt, 1_019.txt, 1_020.txt, 1_021.txt, 1_022.txt, 1_023.txt, 1_024.txt, 1_025.txt
All 0_000.txt, 0_001.txt, 0_002.txt, 1_003.txt, 1_004.txt, 1_005.txt, 1_006.txt, 1_007.txt, 1_008.txt, 1_009.txt, 1_010.txt, 1_011.txt, 1_012.txt, 1_013.txt, 1_014.txt, 1_015.txt, 1_016.txt, 1_017.txt, 1_018.txt, 1_019.txt, 1_020.txt, 1_021.txt, 1_022.txt, 1_023.txt, 1_024.txt, 1_025.txt, 2_026.txt, 2_027.txt, 2_028.txt, 2_029.txt, 2_030.txt, 2_031.txt, 2_032.txt, 2_033.txt, 2_034.txt, 2_035.txt, 2_036.txt, 2_037.txt, 2_038.txt, 2_039.txt, 2_040.txt, 2_041.txt, 2_042.txt, 2_043.txt, 2_044.txt, 2_045.txt, 2_046.txt, 2_047.txt, 2_048.txt, 2_049.txt, 2_050.txt
Case Name Status Exec Time Memory
0_000.txt AC 17 ms 27648 KB
0_001.txt AC 38 ms 27648 KB
0_002.txt AC 38 ms 27648 KB
1_003.txt WA 1 ms 256 KB
1_004.txt WA 1 ms 256 KB
1_005.txt WA 1 ms 256 KB
1_006.txt AC 48 ms 27648 KB
1_007.txt WA 38 ms 27648 KB
1_008.txt WA 90 ms 27648 KB
1_009.txt AC 100 ms 27648 KB
1_010.txt WA 89 ms 27648 KB
1_011.txt WA 88 ms 27648 KB
1_012.txt WA 89 ms 27648 KB
1_013.txt WA 88 ms 27648 KB
1_014.txt WA 88 ms 27648 KB
1_015.txt WA 91 ms 27648 KB
1_016.txt AC 38 ms 27648 KB
1_017.txt WA 37 ms 27648 KB
1_018.txt AC 48 ms 27648 KB
1_019.txt AC 100 ms 27648 KB
1_020.txt WA 88 ms 27648 KB
1_021.txt WA 90 ms 27648 KB
1_022.txt WA 78 ms 27648 KB
1_023.txt WA 78 ms 27648 KB
1_024.txt AC 89 ms 27648 KB
1_025.txt AC 100 ms 27648 KB
2_026.txt WA 1 ms 256 KB
2_027.txt AC 58 ms 27648 KB
2_028.txt WA 48 ms 27648 KB
2_029.txt WA 521 ms 27776 KB
2_030.txt AC 563 ms 27776 KB
2_031.txt WA 332 ms 27776 KB
2_032.txt WA 131 ms 27776 KB
2_033.txt WA 331 ms 27776 KB
2_034.txt WA 130 ms 27776 KB
2_035.txt WA 130 ms 27776 KB
2_036.txt WA 684 ms 27776 KB
2_037.txt AC 48 ms 27648 KB
2_038.txt WA 38 ms 27648 KB
2_039.txt AC 48 ms 27648 KB
2_040.txt AC 510 ms 27776 KB
2_041.txt WA 428 ms 27776 KB
2_042.txt WA 583 ms 27776 KB
2_043.txt WA 317 ms 27776 KB
2_044.txt WA 399 ms 27776 KB
2_045.txt WA 252 ms 27776 KB
2_046.txt AC 348 ms 27776 KB
2_047.txt AC 453 ms 27776 KB
2_048.txt AC 543 ms 27776 KB
2_049.txt AC 600 ms 27776 KB
2_050.txt AC 562 ms 27776 KB