# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
870145 | 2023-11-07T04:18:59 Z | Eliorita | 구경하기 (JOI13_watching) | C++14 | 295 ms | 32088 KB |
#include<bits/stdc++.h> #define int long long #define pb push_back #define x first #define y second #define getbit(u,i) ((u>>i)&1) #define all(x) x.begin(),x.end() #define N 200001 using namespace std; typedef pair<int,int> ii; typedef pair<double,double> dd; int n,a,b,A[N],dp[2001][2001],ans,l=1,r=1e9+8; bool check(int x) { int mn=LLONG_MAX; memset(dp,0x3f,sizeof(dp)); dp[0][0]=0; for(int i=1;i<=n;i++) { int l=1,r=1; while(l<i&&A[i]>=x+A[l]) l++; for(int j=0;j<=b;j++) dp[i][j]=dp[l-1][j]+1; while(r<i&&A[i]>=2*x+A[r]) r++; for(int j=0;j<=b;j++) dp[i][j+1]=min(dp[i][j+1],dp[r-1][j]); } for(int i=0;i<=b;i++) mn=min(mn,dp[n][i]); return mn<=a; } signed main() { if(fopen("paint.inp","r")) { freopen("paint.inp","r",stdin); freopen("paint.out","w",stdout); } ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin>>n>>a>>b; if(n<=a+b) {cout<<1; return 0;} for(int i=1;i<=n;i++) cin>>A[i]; sort(A+1,A+n+1); while(l<=r) { int m=(l+r)/2; if(check(m)) { ans=m; r=m-1; } else l=m+1; } cout<<ans; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 68 ms | 31776 KB | Output is correct |
2 | Correct | 0 ms | 344 KB | Output is correct |
3 | Correct | 67 ms | 31780 KB | Output is correct |
4 | Correct | 0 ms | 344 KB | Output is correct |
5 | Correct | 0 ms | 348 KB | Output is correct |
6 | Correct | 0 ms | 360 KB | Output is correct |
7 | Correct | 69 ms | 31784 KB | Output is correct |
8 | Correct | 66 ms | 31780 KB | Output is correct |
9 | Correct | 68 ms | 31784 KB | Output is correct |
10 | Correct | 68 ms | 31576 KB | Output is correct |
11 | Correct | 67 ms | 31580 KB | Output is correct |
12 | Correct | 66 ms | 31580 KB | Output is correct |
13 | Correct | 67 ms | 31784 KB | Output is correct |
14 | Correct | 66 ms | 31784 KB | Output is correct |
15 | Correct | 65 ms | 31780 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 84 ms | 32088 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
3 | Correct | 0 ms | 476 KB | Output is correct |
4 | Correct | 0 ms | 348 KB | Output is correct |
5 | Correct | 0 ms | 348 KB | Output is correct |
6 | Correct | 0 ms | 348 KB | Output is correct |
7 | Correct | 111 ms | 31660 KB | Output is correct |
8 | Correct | 196 ms | 31832 KB | Output is correct |
9 | Correct | 131 ms | 31836 KB | Output is correct |
10 | Correct | 127 ms | 31832 KB | Output is correct |
11 | Correct | 295 ms | 31812 KB | Output is correct |
12 | Correct | 217 ms | 31836 KB | Output is correct |
13 | Correct | 107 ms | 31836 KB | Output is correct |
14 | Correct | 115 ms | 31832 KB | Output is correct |
15 | Correct | 114 ms | 31580 KB | Output is correct |