CSES - Aalto Competitive Programming 2024 - wk6 - Wed - Results
Submission details
Task:Fence
Sender:aalto2024g_002
Submission time:2024-10-09 16:39:26 +0300
Language:C++ (C++11)
Status:READY
Result:
Test results
testverdicttime
#10.00 sdetails
#20.00 sdetails
#30.00 sdetails
#40.00 sdetails
#50.00 sdetails
#60.00 sdetails
#70.00 sdetails
#80.00 sdetails
#90.00 sdetails
#100.00 sdetails
#110.00 sdetails
#120.00 sdetails
#130.00 sdetails
#140.00 sdetails
#150.00 sdetails
#160.00 sdetails
#170.00 sdetails
#180.00 sdetails
#190.00 sdetails
#200.00 sdetails
#210.00 sdetails
#220.00 sdetails
#230.00 sdetails
#240.00 sdetails
#250.00 sdetails
#260.00 sdetails
#270.00 sdetails
#280.00 sdetails
#290.00 sdetails
#300.00 sdetails
#310.00 sdetails
#320.00 sdetails
#330.00 sdetails
#340.00 sdetails
#350.00 sdetails
#360.00 sdetails
#370.00 sdetails
#380.00 sdetails
#390.00 sdetails
#400.00 sdetails
#410.00 sdetails
#420.00 sdetails
#430.00 sdetails
#440.00 sdetails
#450.00 sdetails
#460.00 sdetails
#470.00 sdetails
#480.00 sdetails
#490.00 sdetails
#500.00 sdetails
#510.00 sdetails
#520.00 sdetails
#530.00 sdetails
#540.00 sdetails
#550.00 sdetails
#560.00 sdetails
#570.00 sdetails
#580.00 sdetails
#590.00 sdetails
#600.01 sdetails
#610.00 sdetails
#620.00 sdetails
#63--details
#64--details
#65--details
#66--details
#67--details
#68--details
#69--details
#70--details
#71--details
#72--details

Code

#include <bits/stdc++.h>

using namespace std;
#define int long long
#define vout(x) for(int i=0;i<(long long)x.size();i++) printf("%lld ",x[i]);

// g++ <filename>.cpp -g -Wall -Wextra -DDEBUG -o <executable>

// copied from: https://codeforces.com/blog/entry/79024
// === Debug macro starts here ===

int recur_depth = 0;
#ifdef DEBUG
#define dbg(x) {++recur_depth; auto x_=x; --recur_depth; cerr<<string(recur_depth, '\t')<<"\e[91m"<<__func__<<":"<<__LINE__<<"\t"<<#x<<" = "<<x_<<"\e[39m"<<endl;}
#else
#define dbg(x)
#endif
template<typename Ostream, typename Cont>
typename enable_if<is_same<Ostream,ostream>::value, Ostream&>::type operator<<(Ostream& os,  const Cont& v){
	os<<"[";
	for(auto& x:v){os<<x<<", ";}
	return os<<"]";
}
template<typename Ostream, typename ...Ts>
Ostream& operator<<(Ostream& os,  const pair<Ts...>& p){
	return os<<"{"<<p.first<<", "<<p.second<<"}";
}

// === Debug macro ends here ===

signed main() {
    
    int n, k;
    cin >> n >> k;
    
    vector<int> vec;
    
    for (int i = 0; i < n * 2; i++) {
        int a; 
        cin >> a;
        vec.push_back(a);
    }

    sort(vec.begin(), vec.end());

    int current_height = 0;

    int fence_pieces = 0;

    while (!vec.empty()) {
        current_height = vec.back();
        vec.pop_back();

        while(!vec.empty() && current_height < k) {
            current_height += vec.front();
            vec.erase(vec.begin());        
        }

        if (current_height >= k) fence_pieces++;
    }

    if (fence_pieces >= n) {
        cout << "yes" << "\n";
    }
    else {
        cout << "no" << "\n";
    }



    return 0;
}

Test details

Test 1

Verdict:

input
1 8
3 5 

correct output
Yes

user output
yes

Test 2

Verdict:

input
1 9
3 4 

correct output
No

user output
no

Test 3

Verdict:

input
2 3
2 1 2 1 

correct output
Yes

user output
yes

Test 4

Verdict:

input
2 3
2 1 1 2 

correct output
Yes

user output
yes

Test 5

Verdict:

input
3 5
3 2 2 3 2 3 

correct output
Yes

user output
yes

Test 6

Verdict:

input
3 8
3 5 3 5 2 6 

correct output
Yes

user output
yes

Test 7

Verdict:

input
3 4
3 1 1 3 2 2 

correct output
Yes

user output
yes

Test 8

Verdict:

input
4 2
1 1 1 1 1 1 1 1 

correct output
Yes

user output
yes

Test 9

Verdict:

input
4 8
1 7 2 6 7 1 2 6 

correct output
Yes

user output
yes

Test 10

Verdict:

input
4 2
1 1 1 1 1 1 1 1 

correct output
Yes

user output
yes

Test 11

Verdict:

input
4 2
1 1 1 1 1 1 1 1 

correct output
Yes

user output
yes

Test 12

Verdict:

input
4 8
5 2 6 2 2 6 4 3 

correct output
No

user output
no

Test 13

Verdict:

input
5 6
4 2 5 1 4 2 5 1 5 3 

correct output
Yes

user output
yes

Test 14

Verdict:

input
5 5
3 2 4 1 1 4 1 4 2 3 

correct output
Yes

user output
yes

Test 15

Verdict:

input
5 5
1 4 3 4 2 2 2 2 2 1 

correct output
No

user output
no

Test 16

Verdict:

input
5 6
4 5 2 1 3 3 5 3 5 1 

correct output
Yes

user output
yes

Test 17

Verdict:

input
5 10
5 5 2 8 9 1 8 2 7 3 

correct output
Yes

user output
yes

Test 18

Verdict:

input
5 3
2 2 1 1 2 2 1 1 2 1 

correct output
Yes

user output
yes

Test 19

Verdict:

input
5 10
3 7 2 8 8 2 1 9 1 9 

correct output
Yes

user output
yes

Test 20

Verdict:

input
5 2
1 1 1 1 1 1 1 1 1 1 

correct output
Yes

user output
yes

Test 21

Verdict:

input
5 9
8 2 7 4 5 7 2 4 1 5 

correct output
Yes

user output
yes

Test 22

Verdict:

input
5 2
1 1 1 1 1 1 1 1 1 1 

correct output
Yes

user output
yes

Test 23

Verdict:

input
10 6
4 2 5 1 4 2 5 1 5 3 4 2 4 2 2 ...

correct output
Yes

user output
yes

Test 24

Verdict:

input
10 5
3 2 4 1 1 4 1 4 2 3 4 1 1 4 1 ...

correct output
Yes

user output
yes

Test 25

Verdict:

input
10 5
1 4 3 4 2 2 2 2 2 1 1 3 3 1 2 ...

correct output
No

user output
no

Test 26

Verdict:

input
10 6
4 5 2 1 3 3 5 3 5 1 1 1 2 2 1 ...

correct output
No

user output
no

Test 27

Verdict:

input
10 10
5 5 2 8 9 1 8 2 7 3 6 4 7 3 6 ...

correct output
Yes

user output
yes

Test 28

Verdict:

input
10 3
2 2 1 1 2 2 1 1 2 1 2 1 2 1 1 ...

correct output
Yes

user output
yes

Test 29

Verdict:

input
10 10
3 7 2 8 8 2 1 9 1 9 4 6 1 9 9 ...

correct output
Yes

user output
yes

Test 30

Verdict:

input
10 2
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
Yes

user output
yes

Test 31

Verdict:

input
10 9
8 2 7 4 5 7 2 4 1 5 4 7 4 4 5 ...

correct output
Yes

user output
yes

Test 32

Verdict:

input
10 2
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
Yes

user output
yes

Test 33

Verdict:

input
100 54882
39253 15632 47086 7798 23252 3...

correct output
No

user output
no

Test 34

Verdict:

input
100 41703
30040 11663 38890 2813 5 41698...

correct output
Yes

user output
yes

Test 35

Verdict:

input
100 43601
1131 40616 23966 41322 18981 2...

correct output
No

user output
no

Test 36

Verdict:

input
100 55081
39006 46265 16024 6683 28137 3...

correct output
No

user output
no

Test 37

Verdict:

input
100 96704
52920 43784 16701 80003 94062 ...

correct output
Yes

user output
yes

Test 38

Verdict:

input
100 22201
19331 18456 4590 8076 20394 21...

correct output
No

user output
no

Test 39

Verdict:

input
100 89287
29642 59645 18698 70589 73325 ...

correct output
Yes

user output
yes

Test 40

Verdict:

input
100 7632
5952 2435 3346 7465 5521 3477 ...

correct output
No

user output
no

Test 41

Verdict:

input
100 87344
84597 20914 75919 32974 46368 ...

correct output
No

user output
no

Test 42

Verdict:

input
100 1039
521 518 6 1030 146 890 911 126...

correct output
No

user output
no

Test 43

Verdict:

input
200 54882
39253 15632 47086 7798 23252 3...

correct output
No

user output
no

Test 44

Verdict:

input
200 41703
30040 11663 38890 2813 5 41698...

correct output
Yes

user output
yes

Test 45

Verdict:

input
200 43601
1131 40616 23966 41322 18981 2...

correct output
No

user output
no

Test 46

Verdict:

input
200 55081
39006 46265 16024 6683 28137 3...

correct output
No

user output
no

Test 47

Verdict:

input
200 96704
52920 43784 16701 80003 94062 ...

correct output
Yes

user output
yes

Test 48

Verdict:

input
200 22201
19331 18456 4590 8076 20394 21...

correct output
No

user output
no

Test 49

Verdict:

input
200 89287
29642 59645 18698 70589 73325 ...

correct output
Yes

user output
yes

Test 50

Verdict:

input
200 7632
5952 2435 3346 7465 5521 3477 ...

correct output
No

user output
no

Test 51

Verdict:

input
200 87344
84597 20914 75919 32974 46368 ...

correct output
No

user output
no

Test 52

Verdict:

input
200 1039
521 518 6 1030 146 890 911 126...

correct output
No

user output
no

Test 53

Verdict:

input
1000 54882
39253 15632 47086 7798 23252 3...

correct output
No

user output
no

Test 54

Verdict:

input
1000 41703
30040 11663 38890 2813 5 41698...

correct output
Yes

user output
yes

Test 55

Verdict:

input
1000 43601
1131 40616 23966 41322 18981 2...

correct output
No

user output
no

Test 56

Verdict:

input
1000 55081
39006 46265 16024 6683 28137 3...

correct output
No

user output
no

Test 57

Verdict:

input
1000 96704
52920 43784 16701 80003 94062 ...

correct output
Yes

user output
yes

Test 58

Verdict:

input
1000 22201
19331 18456 4590 8076 20394 21...

correct output
No

user output
no

Test 59

Verdict:

input
1000 89287
29642 59645 18698 70589 73325 ...

correct output
Yes

user output
yes

Test 60

Verdict:

input
1000 7632
5952 2435 3346 7465 5521 3477 ...

correct output
No

user output
no

Test 61

Verdict:

input
1000 87344
84597 20914 75919 32974 46368 ...

correct output
No

user output
no

Test 62

Verdict:

input
1000 1039
521 518 6 1030 146 890 911 126...

correct output
No

user output
no

Test 63

Verdict:

input
100000 54882
39253 15632 47086 7798 23252 3...

correct output
No

user output
(empty)

Test 64

Verdict:

input
100000 41703
30040 11663 38890 2813 5 41698...

correct output
Yes

user output
(empty)

Test 65

Verdict:

input
100000 43601
1131 40616 23966 41322 18981 2...

correct output
No

user output
(empty)

Test 66

Verdict:

input
100000 55081
39006 46265 16024 6683 28137 3...

correct output
No

user output
(empty)

Test 67

Verdict:

input
100000 96704
52920 43784 16701 80003 94062 ...

correct output
Yes

user output
(empty)

Test 68

Verdict:

input
100000 22201
19331 18456 4590 8076 20394 21...

correct output
No

user output
(empty)

Test 69

Verdict:

input
100000 89287
29642 59645 18698 70589 73325 ...

correct output
Yes

user output
(empty)

Test 70

Verdict:

input
100000 7632
5952 2435 3346 7465 5521 3477 ...

correct output
No

user output
(empty)

Test 71

Verdict:

input
100000 87344
84597 20914 75919 32974 46368 ...

correct output
No

user output
(empty)

Test 72

Verdict:

input
100000 1039
521 518 6 1030 146 890 911 126...

correct output
No

user output
(empty)