Submission #200618

#TimeUsernameProblemLanguageResultExecution timeMemory
200618gs18115Sparklers (JOI17_sparklers)C++14
0 / 100
5 ms376 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]; pl dp[1010][1010]; inline bool able(ll s) { for(int i=0;i<n;i++) dp[i][i]=i==k-1?pl(x[i],x[i]):pl(INF,-INF); for(int l=1;l<n;l++) { for(int i=0;i+l<n;i++) { int j=i+l; dp[i][j].fi=min(x[j]-s*l,dp[i+1][j].fi-s); dp[i][j].se=max(x[i]+s*l,dp[i][j-1].se+s); } } return dp[0][n-1].fi<=dp[0][n-1].se; } 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=1; 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:47: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...