Submission #414740

#TimeUsernameProblemLanguageResultExecution timeMemory
414740tengiz05A Difficult(y) Choice (BOI21_books)C++17
20 / 100
301 ms968 KiB
#include <bits/stdc++.h>
#include "books.h"
using i64 = long long;
void solve(int n, int k, i64 A, int s) {
    std::vector<i64> a(n);
    for (int i = 0; i < n; i++) {
        a[i] = skim(i + 1);
    }
    for (int i = k - 1; i < n; i++) {
        i64 sum = 0;
        for (int j = i - k + 1; j <= i; j++) {
            sum += a[j];
        }
        if (sum >= A && sum <= 2 * A) {
            std::vector<int> ans;
            for (int j = i - k + 1; j <= i; j++) {
                ans.push_back(j + 1);
            }
            answer(ans);
            return;
        }
    }
    i64 min_sum = 0;
    for (int i = 0; i < k - 1; i++) min_sum += a[i];
    for (int i = k - 1; i < n; i++) {
        if (a[i] + min_sum >= A && a[i] + min_sum <= 2 * A) {
            std::vector<int> ans;
            for (int j = 0; j < k - 1; j++) {
                ans.push_back(j + 1);
            }
            ans.push_back(i + 1);
            answer(ans);
            return;
        }
    }
    impossible();
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...