Submission #1191567

#TimeUsernameProblemLanguageResultExecution timeMemory
1191567avighnaSnail (NOI18_snail)C++20
0 / 100
0 ms328 KiB
#include <bits/stdc++.h>

int main() {
  std::ios_base::sync_with_stdio(false);
  std::cin.tie(nullptr);

  int64_t h, sum = 0;
  std::pair<int64_t, int> max_sum = {0, -1};
  int n;
  std::cin >> h >> n;
  std::vector<int64_t> p(n);
  for (int i = 0; i < n; ++i) {
    std::cin >> p[i];
    sum = std::max(sum + p[i], int64_t(0));
    max_sum = std::max(max_sum, {sum, i});
  }

  int64_t day =
      sum == 0 ? 0
               : *std::ranges::partition_point(
                     std::views::iota(int64_t(0), int64_t(1e15)),
                     [&](int64_t x) { return sum * x + max_sum.first < h; });
  int64_t cur_pos = sum * day;
  for (int i = 0; i < n; ++i) {
    cur_pos = std::max(cur_pos + p[i], int64_t(0));
    if (cur_pos >= h) {
      std::cout << day << ' ' << i << '\n';
      return 0;
    }
  }
  std::cout << "-1 -1\n";
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...