Submission #991957

#TimeUsernameProblemLanguageResultExecution timeMemory
99195712345678A Difficult(y) Choice (BOI21_books)C++17
20 / 100
188 ms2400 KiB
#include <bits/stdc++.h>
#include "books.h"

using namespace std;

const int nx=1e5+5;

long long n, k, a[nx], t;
set<pair<long long, long long>> s;

void solve(int N, int K, long long A, int S) {
    n=N, k=K, t=A;
    for (int i=1; i<=n; i++) a[i]=skim(i);
    for (int i=1; i<=n; i++)
    {
        if (i>=k)
        {
            auto itr=s.lower_bound(make_pair(t-a[i], LLONG_MIN));
            if (itr!=s.end()&&itr->first+a[i]<=2*t)
            {
                vector<int> res;
                for (int j=0; j<k-1; j++) res.push_back(itr->second-j);
                res.push_back(i);
                answer(res);
            }
        }
        if (i>=k-1)
        {
            long long sm=0;
            for (int j=0; j<k-1; j++) sm+=a[i-j];
            s.insert({sm, i});
        }
    }
    impossible();
}

/*
5 3 10 5
1 2 9 10 100
*/
#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...