社区讨论
求调
CF1858B The Walkway参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @lo1t9wkv
- 此快照首次捕获于
- 2023/10/23 02:37 2 年前
- 此快照最后确认于
- 2023/11/03 03:11 2 年前
CPP
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+5;
int T;
int a[maxn];
void solve()
{
int n,m,k;
cin>>n>>m>>k;
for(int i=1;i<=m;++i)
cin>>a[i];
a[m+1]=n;
a[0]=1;
int sum=m;
if(a[1]!=1) sum+=(a[1]-2)/k+1;
for(int i=1;i<=m;++i)
sum+=(a[i+1]-a[i]-1)/k;
int t=0,ans=191981145;
for(int i=1;i<=m;++i){
if(a[i]==1) continue;
int f;
f=sum-(a[i]-a[i-1]-1)/k-(a[i+1]-a[i]-1)/k
+(a[i+1]-a[i-1]-1)/k-1;
if(f<ans){
t=1;
ans=f;
}
else if(f==ans) t++;
}
cout<<ans<<" "<<t<<endl;
}//O(3Tm)
int main()
{
cin>>T;
while(T--)
solve();
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...