제출 #1150332

#제출 시각아이디문제언어결과실행 시간메모리
1150332asdfghqwert구경하기 (JOI13_watching)C++20
50 / 100
1096 ms16456 KiB
#include <iostream> #include<algorithm> #pragma GCC optimize("O3") using namespace std; const int maxn = 1e5 + 8;// Adjust N as we need nNNNn int dp[2020][2020]; int n , q , p , a[2020]; bool s(int w){ for(int i = 1 ; i <= n ; i++){ int s1 = lower_bound(a , a + i + 1 , a[i] - w + 1) - a - 1, s2 = lower_bound(a , a + i + 1 , a[i] - 2 * w + 1) - a - 1; dp[i][0] = dp[s1][0] + 1; for(int j = 1 ; j <= q ; j++){ dp[i][j] = min(dp[s1][j] + 1 ,dp[s2][j - 1]); } } return (dp[n][q] <= p ); } int main(){ ios::sync_with_stdio(0); cin.tie(0); cin >> n >> p >> q;a[0] = -2e9; for(int i = 1 ; i <= n ; i++)cin >> a[i]; sort(a, a + n + 1); int l = 1 , r = 1e9; while(l < r){ int mid = (r - l) / 2 + l; if(s(mid))r = mid; else l = mid + 1; } cout << l; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...