Submission #463971

#TimeUsernameProblemLanguageResultExecution timeMemory
463971MahdiBahramianA Difficult(y) Choice (BOI21_books)C++14
Compilation error
0 ms0 KiB
#include<bits/stdc++.h> #include<books.h> #define pb push_back #define F first #define S second #define mk make_pair #define mt make_tuple using namespace std; typedef unsigned long long ll; const int Max = 5e5 + 10; ll ARR[Max]; bool ASK[Max]; int GET(int i) { if(ASK[i]) return ARR[i]; ASK[i] = 1; return ARR[i] = skim(i); } ll SUM(int l , int r) { ll ans = 0; for(int i = l ; i <= r ; i++) ans += GET(i); return ans; } void solve(int N , int K , ll A , int S) { if(SUM(1 , K) > 2 * A) return impossible(); if(SUM(1 , K) >= A) { vector<int> res; for(int i = 1 ; i <= K ; i++) res.pb(i); return answer(res); } int l = 0 , r = N + 1; while(r - l > 1) { int md = (l + r) >> 1; if(SUM(1 , K - 1) + GET(md) >= A) r = md; else l = md; } if(SUM(1 , K - 1) + GET(r) <= 2 * A) { vector<int> res; for(int i = 1 ; i < K ; i++) res.pb(i); res.pb(r); return answer(res); } for(int ln = K - 1 ; ln >= 0 ; ln--) { if(SUM(1 , ln) + SUM(l - K + ln + 1 , l) >= A) { vector<int> res; for(int i = 1 ; i <= ln ; i++) res.pb(i); for(int i = l - K + ln + 1 ; i <= K ; i++) res.pb(i); return answer(res); } } return impossible(); }

Compilation message (stderr)

/usr/bin/ld: /tmp/cccZtuNs.o: in function `main':
grader.cpp:(.text.startup+0x83): undefined reference to `solve(int, int, long long, int)'
collect2: error: ld returned 1 exit status