| Task: | Missing Coin Sum |
| Sender: | Isak |
| Submission time: | 2025-11-27 14:25:12 +0200 |
| Language: | C++ (C++20) |
| Status: | READY |
| Result: | ACCEPTED |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.00 s | details |
| #2 | ACCEPTED | 0.00 s | details |
| #3 | ACCEPTED | 0.00 s | details |
| #4 | ACCEPTED | 0.05 s | details |
| #5 | ACCEPTED | 0.06 s | details |
| #6 | ACCEPTED | 0.06 s | details |
| #7 | ACCEPTED | 0.00 s | details |
| #8 | ACCEPTED | 0.02 s | details |
| #9 | ACCEPTED | 0.00 s | details |
| #10 | ACCEPTED | 0.00 s | details |
Code
#include <stdint.h>
#include <stdlib.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#define LOOP(i,s,e) for (uint64_t i = (s); i < (e); i++)
#define SCAN(...) if (scanf(__VA_ARGS__) == 0) return EXIT_FAILURE
int comp(const void *a, const void *b){
uint64_t *ai = (uint64_t*) a;
uint64_t *bi = (uint64_t*) b;
if (*ai == *bi)
return 0;
if (*ai < *bi)
return -1;
// (*ai > *bi)
return 1;
}
int main() {
uint64_t n = 0;
SCAN("%ld", &n);
// main algo
uint64_t coins[n];
LOOP(i, 0, n)
SCAN("%ld", coins + i);
qsort(coins, n, sizeof(uint64_t), comp);
uint64_t acc = 0;
LOOP(i, 0, n){
if (acc + 1 < coins[i]){
printf("%ld\n", acc + 1);
exit(EXIT_SUCCESS);
}
acc += coins[i];
}
printf("%ld\n", acc + 1);
return EXIT_SUCCESS;
}
Test details
Test 1
Verdict: ACCEPTED
| input |
|---|
| 4 2 1 4 3 |
| correct output |
|---|
| 11 |
| user output |
|---|
| 11 |
Test 2
Verdict: ACCEPTED
| input |
|---|
| 4 2 2 2 2 |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 3
Verdict: ACCEPTED
| input |
|---|
| 6 1 9 9 1 2 2 |
| correct output |
|---|
| 7 |
| user output |
|---|
| 7 |
Test 4
Verdict: ACCEPTED
| input |
|---|
| 200000 38 62 12 96 82 18 48 47 22 3 6... |
| correct output |
|---|
| 10114269 |
| user output |
|---|
| 10114269 |
Test 5
Verdict: ACCEPTED
| input |
|---|
| 200000 321076699 332784673 745614086 ... |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 6
Verdict: ACCEPTED
| input |
|---|
| 200000 1 136292223 60613622 935902310... |
| correct output |
|---|
| 5069547 |
| user output |
|---|
| 5069547 |
Test 7
Verdict: ACCEPTED
| input |
|---|
| 60 1 2 4 8 16 32 64 128 256 512 1... |
| correct output |
|---|
| 31073741824 |
| user output |
|---|
| 31073741824 |
Test 8
Verdict: ACCEPTED
| input |
|---|
| 100000 1 2 4 8 16 32 64 128 256 512 1... |
| correct output |
|---|
| 53672058814464 |
| user output |
|---|
| 53672058814464 |
Test 9
Verdict: ACCEPTED
| input |
|---|
| 10 1 1 1 1 1 1 1 1 2 7 |
| correct output |
|---|
| 18 |
| user output |
|---|
| 18 |
Test 10
Verdict: ACCEPTED
| input |
|---|
| 2 1 1 |
| correct output |
|---|
| 3 |
| user output |
|---|
| 3 |
