Submission #156960

#TimeUsernameProblemLanguageResultExecution timeMemory
156960a_playerStove (JOI18_stove)C++14
0 / 100
2 ms376 KiB
#include <bits/stdc++.h> #define f first #define s second #define mp make_pair #define pb push_back using namespace std; typedef long long ll; ll v[100001]; int N,K; bool check(ll T){ if(T==0)return false; int k=1; ll v0=v[0]; for(int i=1;i<N;i++)if(v[i]+1LL-v0>T){ v0=v[i]; k++; } return k<=K; } int main(){ cin>>N>>K; for(int i=0;i<N;i++)cin>>v[i]; ll x=-1; for(ll b=v[N-1]-v[0]+1LL;b>=1LL;b/=2LL) while(!check(x+b))x+=b; x++; ll v0=v[0]; ll s=0; for(int i=1;i<N;i++) if(v[i]+1-v0>x){ s+=v[i-1]+1-v0; v0=v[i]; } s+=v[N-1]+1-v0; cout<<s; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...