Submission #165230

#TimeUsernameProblemLanguageResultExecution timeMemory
165230LightningTaxis (POI13_tak)C++14
100 / 100
210 ms13620 KiB
#include <iostream> #include <algorithm> #include <vector> #include <cmath> #include <set> #include <map> #include <iomanip> #include <stack> #include <queue> #include <deque> using namespace std; typedef long long ll; typedef pair <int, int> pii; #define sz(a) (int)a.size() #define all(a) a.begin(), a.end() #define pb push_back #define ppb pop_back #define mkp make_pair #define F first #define S second #define show(a) cerr << #a <<" -> "<< a <<"\n" #define fo(a, b, c, d) for(int (a) = (b); (a) <= (c); (a) += (d)) #define foo(a, b, c ,d) for(int (a) = (b); (a) >= (c); (a) -= (d)) //#define int ll const int N = 6e5; const int INF = 1e9; int n; ll m, d, a[N]; bool check(int len) { int SecHalf = -1; for(int i = len; i >= 1; --i) { if(m - d <= a[i]) { SecHalf = i; break; } } //if(a[SecHalf] - d >= m) return 1; ll pos = 0; for(int i = 1; i <= len; ++i) { if(i == SecHalf) continue; pos = pos + max(a[i] - abs(pos - d), 0ll); } pos = pos + max(a[SecHalf] - abs(pos - d), 0ll); return (pos >= m); } main () { ios_base::sync_with_stdio(false); cin.tie(NULL); cin >> m >> d >> n; fo(i, 1, n, 1) { cin >> a[i]; } sort(a + 1, a + n + 1); reverse(a + 1, a + n + 1); //cout << check(3); int l = 1, r = n; while(l < r) { int mid = (l + r) / 2; if(check(mid)) r = mid; else l = mid + 1; } if(!check(r)) { cout << 0; return 0; } cout << r; return 0; }

Compilation message (stderr)

tak.cpp:54:7: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main () {
       ^
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...