# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
28936 | 2017-07-18T01:32:07 Z | 윤교준(#1230) | Taxis (POI13_tak) | C++11 | 1000 ms | 7880 KB |
#include <bits/stdc++.h> #define pb push_back #define sz(V) ((int)(V).size()) #define allv(V) ((V).begin()),((V).end()) #define sorv(V) sort(allv(V)) #define univ(V) (V).erase(unique(allv(V)),(V).end()) #define revv(V) reverse(allv(V)) #define clv(V) (V).clear() #define upmin(a,b) (a)=min((a),(b)) #define upmax(a,b) (a)=max((a),(b)) #define rb(x) ((x)&(-(x))) #define INF (0x3f3f3f3f) #define INFLL (0x3f3f3f3f3f3f3f3fll) #define MAXN (500005) using namespace std; typedef long long ll; ll A[MAXN]; int P[MAXN]; ll L, R; int N, Ans = INF, Hi; int main() { scanf("%lld%lld%d", &R, &L, &N); for(int i = 0; i < N; i++) scanf("%lld", &A[i]); sort(A, A+N); for(int i = 0; i < N; i++) P[i] = i; do { int cnt = 0; ll x = 0; for(int i = 0; i < N && x < R; i++) { if(x < L) { if(A[P[i]] <= L-x) continue; x += A[P[i]] - (L-x); cnt++; } else { if(A[P[i]] < R-L) continue; cnt++; x = R; } } if(x < R) continue; upmin(Ans, cnt); } while(next_permutation(P, P+N)); /* Hi = -1; for(int i = 0; i < N; i++) { if(A[i] < R-L) continue; if(-1 == Hi || A[i] < A[Hi]) Hi = i; } if(-1 == Hi) { puts("0"); return 0; } { int cnt = 0, i = N-1; ll x = 0; for(; ~i && x < L; i--) { if(Hi == i) continue; if(A[i] < L-x) break; x += A[i] - (L-x); cnt++; } if(R <= x) upmin(Ans, cnt); else if(L <= x) upmin(Ans, cnt+1); } { int cnt = 0, i = N-1; ll x = 0; for(; ~i && x < L; i--) { if(A[i] < L-x) break; x += A[i] - (L-x); cnt++; } if(R <= x) upmin(Ans, cnt); else if(L <= x && ~i && R-x <= A[i]) upmin(Ans, cnt+1); } */ printf("%d\n", INF <= Ans ? 0 : Ans); return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 7880 KB | Output is correct |
2 | Correct | 0 ms | 7880 KB | Output is correct |
3 | Correct | 0 ms | 7880 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1000 ms | 7880 KB | Execution timed out |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1000 ms | 7880 KB | Execution timed out |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1000 ms | 7880 KB | Execution timed out |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1000 ms | 7880 KB | Execution timed out |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1000 ms | 7880 KB | Execution timed out |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1000 ms | 7880 KB | Execution timed out |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1000 ms | 7880 KB | Execution timed out |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1000 ms | 7880 KB | Execution timed out |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1000 ms | 7880 KB | Execution timed out |
2 | Halted | 0 ms | 0 KB | - |