Submission #55330

#TimeUsernameProblemLanguageResultExecution timeMemory
55330ksun48Sparklers (JOI17_sparklers)C++14
50 / 100
23 ms5100 KiB
#include <bits/stdc++.h> using namespace std; typedef long long LL; int main(){ cin.sync_with_stdio(0); cin.tie(0); LL n, k, t; cin >> n >> k >> t; k--; vector<LL> x(n); for(int i = 0; i < n; i++){ cin >> x[i]; } LL s = -1; LL e = 1000000000; LL dp[n][n]; while(s + 1 < e){ LL m = (s + e) / 2; vector<LL> y = x; for(LL i = 0; i < n; i++){ y[i] -= m * t * 2 * i; } for(LL i = k; i >= 0; i--){ for(LL j = k; j < n; j++){ dp[i][j] = 0; if(y[j] <= y[i]){ if((i == k && j == k) || (i < k && dp[i+1][j]) || (j > k && dp[i][j-1])){ dp[i][j] = 1; } } } } if(dp[0][n-1]){ e = m; } else { s = m; } } cout << e << '\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...