Submission #574947

#TimeUsernameProblemLanguageResultExecution timeMemory
574947UzoufA Difficult(y) Choice (BOI21_books)C++14
0 / 100
2 ms976 KiB
#include <bits/stdc++.h> //#include <ext/pb_ds/assoc_container.hpp> //#include <ext/pb_ds/tree_policy.hpp> #include"books.h" using namespace std; //using namespace __gnu_pbds; //#define ll long long //#define endl "\n" //int mod=1e9+7; //const int N=2e5+5; //template<class x> //using ordered_multiset = tree<x, null_type,less_equal<x>, rb_tree_tag,tree_order_statistics_node_update>; void solve(int N, int K, long long A, int S) { long long v[N]; for (int i=0;i<N;i++) { v[i]=skim(i+1); } long long na=A*2; int a=-1,b=-1,c=-1; for (int l=0;l<N;l++) { for (int r=l+2;r<N;r++) { int ll=l+1,rr=r-1; while (ll<=rr) { int mid=(ll+rr)/2; long long chk=v[l]+v[r]+v[mid]; if (chk<=na && chk>=A) { a=v[l]; b=v[mid]; c=v[r]; break; } else if (chk<A) ll=mid+1; else rr=mid-1; } if (a!=-1) break; } if (a!=-1) break; } if (a==-1) impossible(); vector<int> ans; ans.push_back(a); ans.push_back(b); ans.push_back(c); //cout<<a<<' '<<b<<' '<<c; answer(ans); 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...