# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
219253 | 2020-04-04T19:29:05 Z | MKopchev | Watching (JOI13_watching) | C++14 | 709 ms | 33536 KB |
#include<bits/stdc++.h> using namespace std; const int nmax=2e3+42; int n,p,q,inp[nmax]; int would_go_small[nmax],would_go_big[nmax]; int dp[nmax][nmax]; int rec(int p_now,int q_now) { if(p_now==0&&q_now==0)return 1; if(dp[p_now][q_now]!=-1)return dp[p_now][q_now]; int ret=0,current; if(p_now) { current=would_go_small[rec(p_now-1,q_now)]; ret=max(ret,current); } if(q_now) { current=would_go_big[rec(p_now,q_now-1)]; ret=max(ret,current); } dp[p_now][q_now]=ret; return ret; } bool can(int w) { for(int i=1;i<=n;i++) { would_go_small[i]=lower_bound(inp+1,inp+n+1,inp[i]+w)-inp; would_go_big[i]=lower_bound(inp+1,inp+n+1,inp[i]+2*w)-inp; //cout<<i<<" -> "<<would_go_small[i]<<" "<<would_go_big[i]<<endl; } would_go_big[n+1]=n+1; would_go_small[n+1]=n+1; memset(dp,-1,sizeof(dp)); return rec(p,q)>n; } int main() { scanf("%i%i%i",&n,&p,&q); for(int i=1;i<=n;i++)scanf("%i",&inp[i]); sort(inp+1,inp+n+1); int ok=1e9/3+1,not_ok=0; while(ok-not_ok>1) { int av=(ok+not_ok)/2; if(can(av))ok=av; else not_ok=av; } printf("%i\n",ok); return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 67 ms | 16640 KB | Output is correct |
2 | Correct | 64 ms | 16640 KB | Output is correct |
3 | Correct | 68 ms | 16640 KB | Output is correct |
4 | Runtime error | 30 ms | 33536 KB | Execution killed with signal 11 (could be triggered by violating memory limits) |
5 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 69 ms | 16760 KB | Output is correct |
2 | Correct | 64 ms | 16640 KB | Output is correct |
3 | Correct | 709 ms | 16888 KB | Output is correct |
4 | Runtime error | 33 ms | 33536 KB | Execution killed with signal 11 (could be triggered by violating memory limits) |
5 | Halted | 0 ms | 0 KB | - |