/* * ===================================================================================== * * Filename: ora.cpp * * Description: * * Version: 0.1.0 * Created: 07.12.2021 * * Author: Michał Zagórski (zagura), <zagura6@gmail.com> * * ===================================================================================== */ #include <cstdio> #include <vector> #include <cinttypes> using namespace std; int main() { size_t bottles, left_bottles; scanf("%zu %zu", &bottles, &left_bottles); vector<int> shelf (bottles); for (size_t i = 0; i < bottles; i++) { scanf("%d", &shelf[i]); } std::vector<bool> used(bottles + 1); used[shelf[0]] = true; int use_count = 1; uint64_t distance = 0; for (size_t i = 1; i < bottles; i++) { if (!used[shelf[i]]) { distance += i - use_count; use_count++; used[shelf[i]] = true; } if (use_count == left_bottles) { break; } } if (use_count == left_bottles) { printf("%" PRIu64 "", distance); } else { printf("-1"); } return 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | /* * ===================================================================================== * * Filename: ora.cpp * * Description: * * Version: 0.1.0 * Created: 07.12.2021 * * Author: Michał Zagórski (zagura), <zagura6@gmail.com> * * ===================================================================================== */ #include <cstdio> #include <vector> #include <cinttypes> using namespace std; int main() { size_t bottles, left_bottles; scanf("%zu %zu", &bottles, &left_bottles); vector<int> shelf (bottles); for (size_t i = 0; i < bottles; i++) { scanf("%d", &shelf[i]); } std::vector<bool> used(bottles + 1); used[shelf[0]] = true; int use_count = 1; uint64_t distance = 0; for (size_t i = 1; i < bottles; i++) { if (!used[shelf[i]]) { distance += i - use_count; use_count++; used[shelf[i]] = true; } if (use_count == left_bottles) { break; } } if (use_count == left_bottles) { printf("%" PRIu64 "", distance); } else { printf("-1"); } return 0; } |