CSES - Aalto Competitive Programming 2024 - wk2 - Wed - Results
Submission details
Task:Cow heist
Sender:aalto2024b_006
Submission time:2024-09-11 17:11:42 +0300
Language:C++17
Status:READY
Result:
Test results
testverdicttime
#1ACCEPTED0.00 sdetails
#2ACCEPTED0.00 sdetails
#3ACCEPTED0.00 sdetails
#4ACCEPTED0.00 sdetails
#5ACCEPTED0.00 sdetails
#6ACCEPTED0.00 sdetails
#7ACCEPTED0.00 sdetails
#8ACCEPTED0.00 sdetails
#9ACCEPTED0.00 sdetails
#10ACCEPTED0.00 sdetails
#11ACCEPTED0.00 sdetails
#12ACCEPTED0.00 sdetails
#13ACCEPTED0.00 sdetails
#14ACCEPTED0.00 sdetails
#15ACCEPTED0.00 sdetails
#16ACCEPTED0.00 sdetails
#17ACCEPTED0.00 sdetails
#18ACCEPTED0.00 sdetails
#19ACCEPTED0.00 sdetails
#20ACCEPTED0.00 sdetails
#21ACCEPTED0.00 sdetails
#22ACCEPTED0.00 sdetails
#23ACCEPTED0.00 sdetails
#24ACCEPTED0.00 sdetails
#25ACCEPTED0.00 sdetails
#26ACCEPTED0.00 sdetails
#27ACCEPTED0.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.02 sdetails
#590.02 sdetails
#600.02 sdetails
#610.02 sdetails
#620.02 sdetails

Code

#include <bits/stdc++.h>

using namespace std;

//Definitions for quicker writing
#define REP(i,a,b) for (int i = a; i < b; i++)

//Typedefs for quicker writing
typedef long long ll;
typedef vector<int> vi;
typedef pair<int,int> pi;

int leftover(int k, int ships[]){
	int cursum = 0;
	REP(i, 0, 30){
		if(cursum < k){
			if(ships[i]>0){
				if(ships[i]+cursum <= k){
					cursum += ships[i];
				}
			}
			else{
				return k - cursum;
			}
		}
		else{
			return 0;
		}
	}
	return k - cursum;
}



int main() {
	//IO optimization
	ios::sync_with_stdio(0);
	cin.tie(0);
	
	//Input definition
	int n;
	
	//Read In
	cin >> n;
	int cows[n];

	REP(i, 0, n){
		cin >> cows[i];

	}


	//Main part
	int ships[30] = {0};

	sort(cows, cows+n);

	//ships[0] = cows[0];
	//int covered = 1;
	//int curship = 1;

	//while(covered < n){
	//	int left = leftover(cows[covered], ships);
	//	if (left > 0){
	//		ships[curship] = left;
	//		curship++;
	//		covered++;
	//	}
	//	else{
	//		covered++;
	//	}
	//}
	ships[0] = 1;

	REP(i, 1, 18){
		ships[i] = ships[i-1]*2;
	}

	//Write out
	REP(i, 0, 30) cout << ships[i] << " ";
	//Return
	return 0;

}

Test details

Test 1

Verdict: ACCEPTED

input
1
11

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 2

Verdict: ACCEPTED

input
2
9 20

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 3

Verdict: ACCEPTED

input
3
18 2 8

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 4

Verdict: ACCEPTED

input
3
4 9 15

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 5

Verdict: ACCEPTED

input
3
4 16 15

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 6

Verdict: ACCEPTED

input
4
8 10 6 14

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 7

Verdict: ACCEPTED

input
4
14 15 6 9

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 8

Verdict: ACCEPTED

input
5
11 12 15 17 13

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 9

Verdict: ACCEPTED

input
5
9 20 15 19 1

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 10

Verdict: ACCEPTED

input
5
9 4 1 19 11

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 11

Verdict: ACCEPTED

input
5
12 2 15 17 6

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 12

Verdict: ACCEPTED

input
5
20 19 11 4 20

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 13

Verdict: ACCEPTED

input
5
5 2 18 17 5

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 14

Verdict: ACCEPTED

input
5
18 19 7 5 17

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 15

Verdict: ACCEPTED

input
5
2 5 16 7 9

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 16

Verdict: ACCEPTED

input
5
18 1 20 5 18

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 17

Verdict: ACCEPTED

input
5
1 8 11 10 10

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 18

Verdict: ACCEPTED

input
10
11 12 15 17 13 18 11 17 9 13

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 19

Verdict: ACCEPTED

input
10
9 20 15 19 1 3 7 20 3 5

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 20

Verdict: ACCEPTED

input
10
9 4 1 19 11 19 9 10 9 7

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 21

Verdict: ACCEPTED

input
10
12 2 15 17 6 3 11 12 18 9

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 22

Verdict: ACCEPTED

input
10
20 19 11 4 20 18 15 13 14 12

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 23

Verdict: ACCEPTED

input
10
5 2 18 17 5 8 19 20 10 2

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 24

Verdict: ACCEPTED

input
10
18 19 7 5 17 2 1 8 3 20

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 25

Verdict: ACCEPTED

input
10
2 5 16 7 9 20 15 10 20 7

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 26

Verdict: ACCEPTED

input
10
18 1 20 5 18 8 11 17 5 9

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 27

Verdict: ACCEPTED

input
10
1 8 11 10 10 1 3 7 3 1

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 28

Verdict:

input
100
548938 592979 715351 844456 60...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 29

Verdict:

input
100
417116 997410 720487 932768 11...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 30

Verdict:

input
100
436094 185124 25933 931751 549...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 31

Verdict:

input
100
550922 70741 708308 840139 290...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 32

Verdict:

input
100
967248 900825 547356 172735 97...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 33

Verdict:

input
100
222044 55193 870929 831516 206...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 34

Verdict:

input
100
893062 947690 332055 209454 82...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 35

Verdict:

input
100
76326 227391 780095 319045 438...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 36

Verdict:

input
100
873627 11117 968759 239494 869...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 37

Verdict:

input
100
10377 364544 501988 499243 495...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 38

Verdict:

input
200
548938 592979 715351 844456 60...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 39

Verdict:

input
200
417116 997410 720487 932768 11...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 40

Verdict:

input
200
436094 185124 25933 931751 549...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 41

Verdict:

input
200
550922 70741 708308 840139 290...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 42

Verdict:

input
200
967248 900825 547356 172735 97...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 43

Verdict:

input
200
222044 55193 870929 831516 206...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 44

Verdict:

input
200
893062 947690 332055 209454 82...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 45

Verdict:

input
200
76326 227391 780095 319045 438...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 46

Verdict:

input
200
873627 11117 968759 239494 869...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 47

Verdict:

input
200
10377 364544 501988 499243 495...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 48

Verdict:

input
1000
548938 592979 715351 844456 60...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 49

Verdict:

input
1000
417116 997410 720487 932768 11...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 50

Verdict:

input
1000
436094 185124 25933 931751 549...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 51

Verdict:

input
1000
550922 70741 708308 840139 290...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 52

Verdict:

input
1000
967248 900825 547356 172735 97...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 53

Verdict:

input
1000
222044 55193 870929 831516 206...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 54

Verdict:

input
1000
893062 947690 332055 209454 82...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 55

Verdict:

input
1000
76326 227391 780095 319045 438...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 56

Verdict:

input
1000
873627 11117 968759 239494 869...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 57

Verdict:

input
1000
10377 364544 501988 499243 495...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 58

Verdict:

input
100000
548938 592979 715351 844456 60...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 59

Verdict:

input
100000
417116 997410 720487 932768 11...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 60

Verdict:

input
100000
436094 185124 25933 931751 549...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 61

Verdict:

input
100000
550922 70741 708308 840139 290...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...

Test 62

Verdict:

input
100000
967248 900825 547356 172735 97...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 4 8 16 32 64 128 256 512 1...