Submission #1224498

#TimeUsernameProblemLanguageResultExecution timeMemory
1224498lkaterisA Difficult(y) Choice (BOI21_books)C++20
0 / 100
1 ms428 KiB
#include <bits/stdc++.h> #include "books.h" using namespace std; long long int B[100005]; const long long int INF = 1e17 + 1; void solve(int N, int K, long long A, int S) { for(int i=1;i<=N;++i) { B[i] = skim(i); } for(int i=1;i<=N;++i) { for(int j=i+1;j<=N;++j) { int bi = B[i]; int bj = B[j]; if (i == 1) B[i] = -INF; else B[i] = B[i-1]; if (j == N) B[j] = INF; else B[j] = B[j+1]; int low = A-bi-bj; int high = 2*A - bi - bj; int l=1,r=N; while (l <= r) { int mid = (l+r)/2; if (low <= B[mid] and B[mid] <= high) { if (mid == i) mid--; if (mid == j) mid++; vector<int> ans = {i,j,mid}; answer(ans); break; } else if (B[mid] < low) { l = mid+1; } else r = mid-1; } B[i] = bi; B[j] = bj; } } impossible(); return; }
#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...