Submission #968940

#TimeUsernameProblemLanguageResultExecution timeMemory
968940CyberCowA Difficult(y) Choice (BOI21_books)C++17
5 / 100
118 ms3456 KiB
#include "books.h" #include <vector> #include <algorithm> #include <cmath> #include <map> #include <set> using namespace std; const int N = 100010; long long v[N]; void solve(int n, int k, long long a, int s) { set<pair<long long, int>> se; for (int i = 1; i <= n; i++) { v[i] = skim(i); se.insert({ v[i], i }); } int st = 0; for (int i = 1; i <= n; i++) { for (int j = i + 1; j <= n; j++) { if (!st && v[i] + v[j] <= 2 * a) { auto it = se.lower_bound({ a - v[i] - v[j], 0}); if (it != se.end() && it->first + v[i] + v[j] <= 2 * a && it->first + v[i] + v[j] >= a && it->first != v[i] && it->first != v[j]) { st = 1; vector<int> ans; ans.push_back(i); ans.push_back(j); ans.push_back(it->second); sort(ans.begin(), ans.end()); answer({ ans }); } } } } if (st == 0) { 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...