Submission #730885

#TimeUsernameProblemLanguageResultExecution timeMemory
730885idasA Difficult(y) Choice (BOI21_books)C++17
0 / 100
3 ms592 KiB
#include "books.h" #include <bits/stdc++.h> #define f first #define s second #define pb push_back #define sz(x) ((int)((x).size())) #define le(vec) vec[vec.size()-1] #define all(x) (x).begin(), (x).end() #define TSTS int ttt; cin >> ttt; while(ttt--) solve() #define FAST_IO ios_base::sync_with_stdio(0); cin.tie(nullptr) #define FOR(i, begin, end) for(int i = (begin); i < (end); i++) using namespace std; typedef long long ll; typedef long double ld; typedef vector<int> vi; typedef map<int, int> mii; typedef pair<int, int> pii; typedef pair<long long, long long> pll; typedef pair<long double, long double> pdd; const int INF=1e9, MOD=1e9+7, mod=998244353; const ll LINF=1e18; void setIO() { FAST_IO; } void setIO(string s) { FAST_IO; freopen((s+".in").c_str(), "r", stdin); freopen((s+".out").c_str(), "w", stdout); } void solve(int n, int k, ll dsum, int s) { vi a(n); FOR(i, 0, n) { a[i]=skim(i+1); } set<int> st(all(a)); FOR(i, 0, n) { FOR(j, i+1, n) { st.erase(a[i]); st.erase(a[j]); ll sum=a[i]+a[j]; auto it=st.lower_bound(dsum-sum); if(it!=st.end() && sum+ll(*it)<=2LL*dsum){ vi ans; FOR(kk, 0, n) if(a[kk]==*it) ans.pb(kk+1); ans.pb(i+1); ans.pb(j+1); sort(all(ans)); // assert(sum+*it>=dsum); // assert(sum+*it>=dsum && sum+*it<=2*dsum); answer(ans); } st.insert(a[i]); st.insert(a[j]); } } impossible(); } //int main() //{ // setIO(); // //}

Compilation message (stderr)

books.cpp: In function 'void setIO(std::string)':
books.cpp:34:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   34 |     freopen((s+".in").c_str(), "r", stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
books.cpp:35:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   35 |     freopen((s+".out").c_str(), "w", stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#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...