Submission #942919

#TimeUsernameProblemLanguageResultExecution timeMemory
942919kokoxuyaA Difficult(y) Choice (BOI21_books)C++14
0 / 100
1 ms596 KiB
#include <bits/stdc++.h> #include "books.h" using namespace std; bool checkers(int x, int K, vector<pair<int,int>> &ans, int currsum, int A) //return false if adding would make it too large //return true if not and insert x into the vector //ans : {index, value} pair { int temp1 = skim(x); int cantake = (2 * A) - currsum; if ((currsum + (temp1 - ans[K].second)) > (2 * A)) { return false; } else { int hi = K, lo = 1, mid; while (hi > lo) { mid = (hi + lo)/2; if (((temp1 - ans[mid].second) <= cantake)) //won't exceed : go lower { hi = mid; } else { lo = mid + 1; } } ans[lo] = {x,temp1}; } return true; } void solve(int N, int K, long long A, int S) { int currsum = 0; vector<pair<int,int>>ans(K + 1); int temp1,temp2; for (int a = 1; a <= K; a++) { temp2 = skim(a); ans[a] = {a,temp2}; currsum += temp2; } if (currsum > (2 * A)) { impossible(); } int hi = N,lo = K + 1,mid; vector<int>kokonut; while (hi > lo) { mid = (hi + lo)/2; if (checkers(mid, K, ans, currsum, A)) { lo = mid; } else { hi = mid - 1; } if ((currsum >= A) && (currsum <= (2 * A))) { for (int a = 1; a <= K; a++) { kokonut.push_back(ans[a].first); } answer(kokonut); } } impossible(); }

Compilation message (stderr)

books.cpp: In function 'void solve(int, int, long long int, int)':
books.cpp:44:9: warning: unused variable 'temp1' [-Wunused-variable]
   44 |     int temp1,temp2;
      |         ^~~~~
#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...