Solution - P10341
Update on 2024.12.19,感谢 imljyhaha 的 Hack,已修改(。
P10341 [THUSC 2019] 紧急决策。
通过题目我们可以知道,只有
考虑贪心,查找第一个未被照亮的灯塔
此时最后一个被照亮的灯塔编号即为答案。
时间复杂度
#include<cstdio>
const int N=7.5e6+10;
int n,t,q;
int a[N];
inline int read(){
int x=0,f=1;char ch=getchar();
while(ch<'0'||ch>'9')ch=='-'?f=0:0,ch=getchar();
while(ch>='0'&&ch<='9')x=(x<<3)+(x<<1)+(ch^48),ch=getchar();
return f?x:-x;
}
int main()
{
n=read(),t=read(),q=read();
for(int i=1;i<=n;++i)
a[i]=read();
int i=1,p=0;
while(t--){
++p;
while(i<n&&a[i+1]-a[p]<=q)++i;
p=i;
if(i==n)return !printf("%d\n",n);
while(p<n&&a[p+1]-a[i]<=q)++p;
}
printf("%d\n",p);
return 0;
}