CSES - Datatähti 2017 alku - Results
Submission details
Task:Kolikot
Sender:mangolassi
Submission time:2016-10-03 21:49:23 +0300
Language:C++
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED22
#2ACCEPTED35
#3ACCEPTED43
Test results
testverdicttimegroup
#1ACCEPTED0.04 s1details
#2ACCEPTED0.06 s1details
#3ACCEPTED0.06 s1details
#4ACCEPTED0.05 s1details
#5ACCEPTED0.05 s1details
#6ACCEPTED0.06 s2details
#7ACCEPTED0.05 s2details
#8ACCEPTED0.05 s2details
#9ACCEPTED0.06 s2details
#10ACCEPTED0.06 s2details
#11ACCEPTED0.07 s3details
#12ACCEPTED0.06 s3details
#13ACCEPTED0.10 s3details
#14ACCEPTED0.10 s3details
#15ACCEPTED0.09 s3details
#16ACCEPTED0.10 s3details

Code

#include <iostream>
#include <algorithm>
#include <vector>

int main() {
  /*
  Sort the numbers, then go over the numbers in order.
  largest tells us the largest number for which, all numbers below it can
  be produced. Trivially, since we sorted the list, no numbers larger than it
  can be represented, or largest + 1 is our answer.
  */
  int n;
  std::cin >> n;
  std::vector<long long> coins;
  for (int i = 0; i < n; ++i) {
    int v;
    std::cin >> v;
    coins.push_back(v);
  }
  std::sort(coins.begin(), coins.end());

  if (coins[0] > 1) {
    std::cout << 1 << "\n";
  } else {
    long long largest = coins[0];
    for (int i = 1; i < n; ++i) {
      if (coins[i] > largest + 1) {
        break;
      } else {
        largest += coins[i];
      }
    }
    std::cout << (largest + 1) << "\n";
  }
}

Test details

Test 1

Group: 1

Verdict: ACCEPTED

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

correct output
30

user output
30

Test 2

Group: 1

Verdict: ACCEPTED

input
10
3 5 5 4 5 4 5 5 5 3

correct output
1

user output
1

Test 3

Group: 1

Verdict: ACCEPTED

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

correct output
62

user output
62

Test 4

Group: 1

Verdict: ACCEPTED

input
10
7 4 6 3 9 7 4 4 7 7

correct output
1

user output
1

Test 5

Group: 1

Verdict: ACCEPTED

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

correct output
51

user output
51

Test 6

Group: 2

Verdict: ACCEPTED

input
100
3 3 1 4 2 1 2 1 3 1 2 5 1 5 1 ...

correct output
269

user output
269

Test 7

Group: 2

Verdict: ACCEPTED

input
100
3 3 2 3 4 5 4 4 4 4 2 2 4 4 4 ...

correct output
1

user output
1

Test 8

Group: 2

Verdict: ACCEPTED

input
100
678 999 374 759 437 390 832 54...

correct output
1

user output
1

Test 9

Group: 2

Verdict: ACCEPTED

input
100
862 537 633 807 666 248 237 5 ...

correct output
30

user output
30

Test 10

Group: 2

Verdict: ACCEPTED

input
100
874 302 384 920 76 28 762 163 ...

correct output
41765

user output
41765

Test 11

Group: 3

Verdict: ACCEPTED

input
100000
4 2 5 3 2 3 5 2 2 2 3 4 3 3 2 ...

correct output
299640

user output
299640

Test 12

Group: 3

Verdict: ACCEPTED

input
100000
2 5 5 5 5 2 4 4 3 2 3 2 5 5 3 ...

correct output
1

user output
1

Test 13

Group: 3

Verdict: ACCEPTED

input
100000
98146842 766872135 84108268 28...

correct output
1

user output
1

Test 14

Group: 3

Verdict: ACCEPTED

input
100000
932032495 1 849176169 78948957...

correct output
29970

user output
29970

Test 15

Group: 3

Verdict: ACCEPTED

input
100000
35894853 796619259 699878597 4...

correct output
44965249639582

user output
44965249639582

Test 16

Group: 3

Verdict: ACCEPTED

input
100000
930494676 960662779 904422858 ...

correct output
800020001

user output
800020001