Submission #1233166

#TimeUsernameProblemLanguageResultExecution timeMemory
1233166PenguinsAreCuteSparklers (JOI17_sparklers)C++17
50 / 100
167 ms327680 KiB
#include <bits/stdc++.h> using namespace std; int main() { int n, k, t; cin >> n >> k >> t; k--; int x[n]; for(int i=0;i<n;i++) cin >> x[i]; int l = -1, h = (1e9 / t) + 1; while(h - l > 1) { int s = (l + h) / 2; int d = s * t; bool reach[n][n]; memset(reach,0,sizeof(reach)); reach[k][k] = 1; for(int l=k;~l;l--) for(int r=k;r<n;r++) if(reach[l][r]) { if(r+1<n && x[r+1] - x[l] <= 2LL * (r - l + 1) * d) reach[l][r+1] = 1; if(l && x[r] - x[l-1] <= 2LL * (r - l + 1) * d) reach[l-1][r] = 1; } if(reach[0][n-1]) h = s; else l = s; } cout << h; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...