Submission #200623

#TimeUsernameProblemLanguageResultExecution timeMemory
200623gs18115Sparklers (JOI17_sparklers)C++14
50 / 100
42 ms4724 KiB
#include<iostream> #include<vector> #include<algorithm> #define ep emplace #define eb emplace_back #define fi first #define se second #define all(x) (x).begin(),(x).end() #define semicolon ; #define ryan bear using namespace std; typedef long long ll; typedef pair<int,int>pi; typedef pair<ll,ll>pl; const int inf=1e9+7; const ll INF=1e18; int n,k; ll x[100010]; bool dp[1010][1010]; inline bool able(ll s) { for(int i=0;i<n;i++) dp[i][i]=i==k-1?1:0; for(int l=1;l<n;l++) { for(int i=0;i+l<n;i++) { int j=i+l; dp[i][j]=(dp[i+1][j]||dp[i][j-1])&&x[i]+s*l>=x[j]-s*l; } } return dp[0][n-1]; } int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); ll t; cin>>n>>k>>t; for(int i=0;i<n;i++) cin>>x[i]; ll s=0; ll e=inf; while(s<e) { ll m=s+e>>1; if(able(m)) e=m; else s=m+1; } cout<<(s+t-1)/t<<endl; return 0; }

Compilation message (stderr)

sparklers.cpp: In function 'int main()':
sparklers.cpp:46:15: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
         ll m=s+e>>1;
              ~^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...