Submission #1301390

#TimeUsernameProblemLanguageResultExecution timeMemory
1301390efegA Difficult(y) Choice (BOI21_books)C++20
20 / 100
63 ms1192 KiB
#include <bits/stdc++.h>
#include "books.h"
using namespace std;

#define all(v) v.begin(),v.end()
using i64 = long long; 
template<typename T>
using vec = vector<T>;

void solve(int N, int K, long long A, int S) {
    vec<i64> x(N+1,0); 
    vec<int> ans(K,0); 
    i64 currSum = 0; 
    for (int i = 1; i <= N; i++) x[i] = skim(i); 

    for (int i = 0; i < K-1; i++){
        ans[i] = i+1; 
        currSum += x[i+1]; 
    } 
    
    for (int i = K; i <= N; i++){
        if (currSum + x[i] >= A && currSum + x[i] <= 2*A){
            ans[K-1] = i; 
            answer(ans); 
        }
    }

    currSum = 0; 
    for (int i = 1; i <= K; i++){
        currSum += x[i]; 
    }

    if (currSum >= A && currSum <= 2 * A) {
        iota(all(ans),1); 
        answer(ans); 
    }

    for (int i = K+1; i <= N; i++){
        currSum += x[i]; 
        currSum -= x[i - K]; 
        if (currSum >= A && currSum <= 2 * A){
            iota(all(ans),i - K + 1); 
            answer(ans); 
        }
    }
    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...